標籤:android 捷徑
網上參考過N多的資料,最後發現還是這樣寫比較靠譜,不會重複建立捷徑。
//建立捷徑
private void addShortcut(){
Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");//保持預設
//捷徑的名稱
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); //保持預設
shortcut.putExtra("duplicate", false); //不允許重複建立
Intent intent = new Intent(this,HomeActivity.class);//後面的HomeActivity.class是我的程式第一次載入的activity的名字,大家要注意
intent.setAction("com.figo.activity.home");//這個也是home的具體路徑
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
//顯示的表徵圖
Parcelable icon = Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
sendBroadcast(shortcut);//廣播
}
//刪除捷徑
private void delShortcut(){
Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
//捷徑的名稱
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
//這裡的intent要和建立時的intent設定一致
Intent intent = new Intent(this,HomeActivity.class);
intent.setAction("com.figo.activity.home");
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
sendBroadcast(shortcut);
}
設定檔AndroidManifest.xml
許可權記得加上
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
添加上intent-filter
<activity
android:name="com.figo.activity.HomeActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@style/Theme.NoTitleBar"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="com.figo.activity.home" />
</intent-filter>
</activity>
android開發步步為營之49:建立APP案頭捷徑