Android編程創(chuàng)建桌面快捷方式的常用方法小結(jié)【2種方法】
本文實(shí)例講述了Android編程創(chuàng)建桌面快捷方式的常用方法。分享給大家供大家參考,具體如下:
Android在桌面上生成快捷方式有兩種情況,一種是直接在桌面直接生成;一種是長按桌面,在彈出的快捷菜單中生成。
談?wù)勗谧烂嫔现苯由伞€(gè)人覺得這個(gè)比較爽快,既然都是快捷方式了干嘛還要再隱藏一層呢?當(dāng)然喜歡桌面干凈的就比較喜歡第二個(gè)了。
第一個(gè)是通過廣播(Broadcast)的形式向Luncher發(fā)送請求生成快捷方式的。
在網(wǎng)上找到關(guān)于這方面的注冊信息。
<!--設(shè)置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>
可以看出,要在桌面上創(chuàng)建快捷方式就需要權(quán)限了:
android:permission="com.android.launcher.permission.INSTALL_SHORTCUT。
所以在我們的manifest.xml文件中,我們需要加入下面這段話:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
下面就是代碼層的實(shí)現(xiàn):
假如我在一個(gè)activity中創(chuàng)建一個(gè)創(chuàng)建快捷方式的方法:createShortCut();
public void createShortCut(){
//創(chuàng)建快捷方式的Intent
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//不允許重復(fù)創(chuàng)建
shortcutintent.putExtra("duplicate", false);
//需要現(xiàn)實(shí)的名稱
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);
//點(diǎn)擊快捷圖片,運(yùn)行的程序主入口
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext() , EnterActivity.class));
//發(fā)送廣播。OK
sendBroadcast(shortcutintent);
}
二、長按桌面彈出的桌面快捷方式創(chuàng)建
第一頁談過直接在桌面生成快捷方式,現(xiàn)在說說如何在添加到一個(gè)SHORTCUTS列表中,就是你長按桌面彈出來的那個(gè)東東。
首先在注冊activity時(shí),需要添加一個(gè)action為android.intent.action.CREATE_SHOERTCUT的intentFilter.如下所示:
<activity android:name="ShortCutTest">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
</intent-filter>
</activity>
接下來就是就是設(shè)置快捷方式的圖標(biāo)、名稱、事件等屬性。這里圖表的生成,android里提供了專門的方法來生成。
public class ShortCutTest extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
public void createShortCut(){
Intent addShortCut;
//判斷是否需要添加快捷方式
if(getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)){
addShortCut = new Intent();
//快捷方式的名稱
addShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME , "我的快捷方式");
//顯示的圖片
Parcelable icon = ShortcutIconResource.fromContext(this, R.drawable.icon);
addShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//快捷方式激活的activity,需要執(zhí)行的intent,自己定義
addShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent());
//OK,生成
setResult(RESULT_OK, addShortCut);
}else{
//取消
setResult(RESULT_CANCELED);
}
}
}
PS:關(guān)于AndroidManifest.xml文件相關(guān)屬性功能可參考本站在線工具:
Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用newInstance()來實(shí)例化fragment并傳遞數(shù)據(jù)操作
這篇文章主要介紹了使用newInstance()來實(shí)例化fragment并傳遞數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Android 防止過快(多次)點(diǎn)擊的實(shí)現(xiàn)方法
很多用戶經(jīng)常會出現(xiàn)過快且多次點(diǎn)擊同一按鈕的情況,本篇文章主要介紹了Android 防止過快點(diǎn)擊的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
Flutter基本組件Basics?Widget學(xué)習(xí)
本文詳細(xì)講解了Flutter基本組件Basics?Widget,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
Android實(shí)現(xiàn)朋友圈評論回復(fù)列表
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)朋友圈評論回復(fù)列表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
android textview設(shè)置字體的行距和字間距
這篇文章主要介紹了android textview設(shè)置字體的行距和字間距的方法,非常簡單實(shí)用,有需要的小伙伴可以參考下2016-05-05

