多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Android-Launcher開發之ShortCut(1)

Android-Launcher開發之ShortCut(1)

來源:程序員人生   發布時間:2014-09-05 19:02:47 閱讀次數:2564次

以下源碼來自Launcher2.3的例子

1.默認每個應用的主Activity都會自帶 <category android:name="android.intent.category.LAUNCHER" />,表示該應用安裝到Launcher時點擊打開該Activity

<activity android:name="org.lean.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

2.Launcher2源碼的時序圖如下:(在圖中,我們可以看到 創建shortcut需要準備2方面東西,一個action.,另一個是我們檢索后返回的intent)



2.1.當想在桌面手動創建shortcut,就必須在AndroidManifest.xml文件中添加一個<action />標簽.

如下.我們創建一個ShortCutActivity用來處理shortcut的創建

<activity android:name="org.lean.ShortCutActivity" > <intent-filter > <action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter> </activity>

2.2并在Activity中處理顯示的shortCut樣式的返回Intent

/** * @author Lean @date:2014-8-25 */ public class ShortCutActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)) { Intent returnIntent=new Intent(); returnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this,R.drawable.ic_launcher)); returnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"A simple shortCut"); returnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(this,MainActivity.class)); setResult(RESULT_OK,returnIntent); finish(); } } }

3.以上的shortcut只能手動添加,如果想動態添加shortCut 就必須發送廣播.Android Launcher2源碼提供了如下

<!-- 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>

這也表示,我們發送廣播必須聲明權限,還有指定<action />,于是 在我們的應用程序AndroidManifest.xml里 添加

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

同時在代碼調用(同時,動態添加shortcut也必須指定其樣式和操作意圖)

Intent intent=new Intent(); intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,R.drawable.ic_launcher); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"a auto sample"); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(MainActivity.this,MainActivity.class)); sendBroadcast(intent);






生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日一区 | 国产在线成人一区二区 | 亚洲 春色 另类小说 | 国产精品v欧美精品∨日韩 国产精品v欧美精品v日本精 | 亚洲久久在线 | 一区二区三区在线免费观看视频 | 99热精品成人免费观看 | 亚洲精品αv一区二区三区 亚洲精品播放 | 久久久久国产精品美女毛片 | 福利在线影院 | 亚欧洲精品bb | 国产麻豆剧看黄在线观看 | 综合亚洲欧美日韩一区二区 | 欧美中文小说在线观看 | 国产精品亚洲一区二区三区久久 | 级毛片久久久毛片精品毛片 | 欧美性bbbb | 91亚洲精品一区二区三区 | 亚洲精品综合一区二区三区在线 | 男人午夜视频在线观看 | 亚洲欧美综合视频 | 免费黄色网址大全 | 久久999精品 | 国产成人高清一区二区私人 | 亚洲日韩中文字幕天堂不卡 | 在线精品日韩一区二区三区 | hh99me福利毛片在线看 | 91精品国产亚洲爽啪在线影院 | 456亚洲人成在线播放网站 | 精品久久久久久久 | 欧美黑人两根巨大挤入 | 久久大香伊人中文字幕 | 欧美a∨ | 伊人亚洲综合网成人 | 日本欧美一区二区三区在线 | 久久福利片| 国产成人一区二区三区在线视频 | 伊人成综合 | 亚洲免费高清视频 | 爱爱视频网站免费 | 免费福利在线 |