Android之生成桌面快捷方式(一)


生成快捷方式有兩種情況,一種是直接在桌面直接生成;一種是長按桌面,在彈出的快捷菜單中生成。

談談在桌面上直接生成。個人覺得這個比較爽快,既然都是快捷方式了干嘛還要再隱藏一層呢?當然喜歡桌面干凈的就比較喜歡第二個了。

第一個是通過廣播(Broadcast)的形式向Luncher發送請求生成快捷方式的。

在網上找到關於這方面的注冊信息。

InstallShortcutReceiver的注冊信息:

 <!--設置wallpapaer的activity -->
<!-- Intent received used to install shortcuts from other applications -->
<receiver
android:name="com.android.launcher2.InstallShortcutReceiver"
android:permission
="com.android.launcher.permission.INSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
</intent-filter>
</receiver>

可以看出,要在桌面上創建快捷方式就需要權限了:

android:permission="com.android.launcher.permission.INSTALL_SHORTCUT。

所以在我們的manifest.xml文件中,我們需要加入下面這段話:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>


下面就是代碼層的實現:

假如我在一個activity中創建一個創建快捷方式的方法:createShortCut();

public void createShortCut(){
//創建快捷方式的Intent
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//不允許重復創建
shortcutintent.putExtra("duplicate", false);
//需要現實的名稱
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname));
//快捷圖片
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//點擊快捷圖片,運行的程序主入口
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , EnterActivity.class));
//發送廣播。OK
sendBroadcast(shortcutintent);
}





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM