更多快捷方式创建方式请参考:http://www.jianshu.com/p/dc3d04337d00
/*
*创建一个可以快速打电话的快捷方式
*/
public class CallShortCutActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent();
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); //
//dowhtIntent 用于告诉InstallShortcutReceiver, 我们要创建的快捷方式的样子
Intent dowhtIntent = new Intent();
dowhtIntent.setAction(Intent.ACTION_CALL); //这个快捷方式用来打电话
dowhtIntent.setData(Uri.parse("tel://110")); //电话号码
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "哈哈"); //快捷方式的名字
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)); //快捷方式的图标
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dowhtIntent);//装载数据
sendBroadcast(intent);
}
}
第二个例子,创建一个手机应用的快捷方式:
Intent intent = new Intent();
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
//如果设置为true表示可以创建重复的快捷方式
intent.putExtra("duplicate", false);
/**
* 1 干什么事情
* 2 你叫什么名字
* 3你长成什么样子
*/
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "黑马手机卫士");
//干什么事情
/**
* 这个地方不能使用显示意图
* 必须使用隐式意图
*/
Intent shortcut_intent = new Intent();
shortcut_intent.setAction("aaa.bbb.ccc");
shortcut_intent.addCategory("android.intent.category.DEFAULT");
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcut_intent);
sendBroadcast(intent);
<pre name="code" class="html"><strong> 在AndroidManifest.设置</strong>
<activity android:name="com.itheima.mobileguard.activities.HomeActivity" >
<intent-filter>
<!-- 这个名字可以随便取 -->
<action android:name="aaa.bbb.ccc" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
</intent-filter>
</activity>