日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 开机自动运行和添加删除桌面快捷方式

發布時間:2025/3/20 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 开机自动运行和添加删除桌面快捷方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<一>開機自啟動
當Android啟動時,會發出一個系統廣播,內容為ACTION_BOOT_COMPLETED,它的字符串常量表示為android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到這個消息,再啟動之即可。我們要做的是做好接收這個消息的準備,而實現的手段就是實現一個BroadcastReceiver。
1.首先定義一個BroadcastReceiver,覆寫其onReceive()方法,在里面判斷intent是否是開機啟動廣播,如果是的話就進行相應的處理;

public class BootBroadcastReceiver extends BroadcastReceiver {static final String BOOT_ACTION = "android.intent.action.BOOT_COMPLETED";@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(BOOT_ACTION)) {// doSomething(startService or startAcvitity or downLoadFile ...) }} }

2.在Manifest文件中進行配置,intent-filter表示該Receiver接收的廣播消息為:android.intent.action.BOOT_COMPLETED;

<receiver android:name="com.xxx.BootBroadcastReceiver" ><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter></receiver> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- uses 權限 -->

<二>添加刪除桌面快捷方式
有時候希望自動將程序快捷方式添加到桌面,最近在一個項目中,就遇到這樣的需求,現將自己在做法進行總結及延伸。
1.添加:查看Launcher源碼,查看是如何添加桌面快捷方式的,發現Launcher通過自己注冊的InstallShortCutReceiver和UnInstallShortCutReceiver實現快捷方式圖標的生成與移除過程;

<receiverandroid:name="com.android.launcher2.InstallShortcutReceiver"<!--SDK版本小于8時為launcher-->android:permission="com.android.launcher.permission.INSTALL_SHORTCUT" ><intent-filter><action android:name="com.android.launcher.action.INSTALL_SHORTCUT" /></intent-filter></receiver>

于是乎就可以發送一個廣播給Launcher,Launcher接收到此廣播之后就可以將快捷方式添加到桌面,并且需要添加權限

public void addShortcut() {// 創建快捷方式的IntentIntent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");// 不允許重復創建shortcutIntent.putExtra("duplicate", false);// 快捷方式的名稱 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,getString(R.string.app_name));// 快捷圖片,一個Parcelable對象Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher);shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);Intent intent = new Intent(getApplicationContext(), MainActivity.class);intent.setAction("android.intent.action.MAIN");intent.addCategory("android.intent.category.LAUNCHER");// 點擊快捷圖片,運行的程序主入口 shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);sendBroadcast(shortcutIntent);}

添加權限:

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

2.刪除:刪除快捷方式用得不多,上面的方式添加到桌面的快捷方式,在程序卸載的時候也會自動從桌面刪除;

public static void delShortcut(Context context) {Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");// 獲取當前應用名稱的另一種方式String title = null;try {final PackageManager pm = context.getPackageManager();title = pm.getApplicationLabel(pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA)).toString();} catch (Exception e) {}// 快捷方式名稱 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);context.sendBroadcast(shortcut);} <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />

3.判斷桌面快捷方式是否已經存在

public static boolean hasShortcut(Context cx) {boolean result = false;// 獲取當前應用名稱String title = null;try {final PackageManager pm = cx.getPackageManager();title = pm.getApplicationLabel(pm.getApplicationInfo(cx.getPackageName(), PackageManager.GET_META_DATA)).toString();} catch (Exception e) {}final String uriStr;if (android.os.Build.VERSION.SDK_INT < 8) {uriStr = "content://com.android.launcher.settings/favorites?notify=true";} else {uriStr = "content://com.android.launcher2.settings/favorites?notify=true";}final Uri CONTENT_URI = Uri.parse(uriStr);final Cursor c = cx.getContentResolver().query(CONTENT_URI, null, "title=?", new String[] { title }, null);if (c != null && c.getCount() > 0) {result = true;}return result;} <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />

幾個相關的Action

// 系統啟動完成static final String BOOT_COMPLETED_ACTION = "android.intent.action.BOOT_COMPLETED";// 設備上新安裝了一個應用程序包static final String PACKAGE_ADDED_ACTION = "android.intent.action.PACKAGE_ADDED";// 設備上刪除了一個應用程序包static final String PACKAGE_REMOVED_ACTION = "android.intent.action.PACKAGE_REMOVED";// 刪除應用程序快捷方式,需要如下權限// com.android.launcher.permission.UNINSTALL_SHORTCUTstatic final String UNINSTALL_SHORTCUT_ACTION = "com.android.launcher.action.UNINSTALL_SHORTCUT";// 添加快捷方式,需要如下權限// com.android.launcher.permission.INSTALL_SHORTCUTstatic final String INSTALL_SHORTCUT_ACTION = "com.android.launcher.permission.INSTALL_SHORTCUT";

4.監聽app安裝/卸載過程,需要用到上面的PACKAGE_ADDED和PACKAGE_REMOVED兩個Action,可以對獲取到的應用程序包名進行相應的判斷處理;

@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(PACKAGE_ADDED_ACTION)) {// doSomething ...獲取應用程序包名String packageName = intent.getDataString();}}

添加如下配置,對Receiver進行配置

<receiver android:name="com.example.async.BootBroadcastReceiver" ><intent-filter><action android:name="android.intent.action.PACKAGE_ADDED" /> <!--PACKAGE_REMOVED--><data android:scheme="package" /> <!-- 一定要添加此節點 --></intent-filter> </receiver>

?

總結

以上是生活随笔為你收集整理的Android 开机自动运行和添加删除桌面快捷方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线a视频 | 少妇久久久久久被弄高潮 | 欧美zozo | 不卡的av在线免费观看 | 国产极品在线观看 | 亚洲熟妇无码乱子av电影 | 草草影院在线观看视频 | 欧美zozo| 日韩中文字幕在线免费观看 | 奇米影视9999 | 久久久久国产 | 亚洲av少妇一区二区在线观看 | 亚洲v天堂 | 黄色一级黄色片 | 国产成人无码精品久久久电影 | 天天操操| 全部免费毛片在线播放 | 亚洲男人天堂2023 | 国产精品免费入口 | 非洲一级黄色片 | 国产精品色在线网站 | 日韩在线91 | 乱人伦中文字幕 | 免费一级欧美片在线播放 | 色婷婷av久久久久久久 | аⅴ资源中文在线天堂 | 国产美女精品在线 | 国产无码精品久久久 | 玖玖爱国产| 欧美日韩中文一区 | 91精品国产一区二区 | 中文字幕23页 | 青青青国内视频在线观看软件 | 亚洲专区欧美 | 又大又粗弄得我出好多水 | 特级黄色网 | 密桃av在线 | 日本免费黄色小视频 | 97干干干| 一区二区在线免费观看视频 | 麻豆做爰免费观看 | 中国少妇做爰全过程毛片 | 成人免费观看a | 欧美卡一卡二卡三 | 小视频免费在线观看 | 91亚洲高清| 天堂av观看 | 中文字幕一区二区三区精华液 | jzzjzz日本丰满成熟少妇 | 91中文字日产乱幕4区 | 禁片天堂 | 国产奶水涨喷在线播放 | 亚洲国产成人91porn | 欧美14sex性hd摘花 | 久久久久久久久久一区二区三区 | 亚洲另类视频 | 亚洲男人第一网站 | 国产精品欧美亚洲 | 青草视频在线播放 | 日本一区二区色 | 久久草国产 | 亚洲区久久 | 老司机深夜福利网站 | 久久资源在线 | 黄视频国产 | 91精品久久久久久久久久久 | 久久免费视频网站 | 精品国产乱码久久久久久蜜臀网站 | 日韩一区二区三区不卡 | 激情福利在线 | 修女也疯狂3免费观看完整版 | 日韩不卡av在线 | 欧美激情一区二区三区p站 欧美mv日韩mv国产网站app | 国产又粗又大又爽视频 | 欧美国产精品一区二区三区 | av.www| 天天操夜夜操 | 能看的毛片 | 日韩av成人 | 福利片在线播放 | 国产精品5| a视频在线观看 | 一本色道久久综合亚洲精品图片 | 国产精品2019 | 久久99这里只有精品 | 俺来也av | 国产高清不卡 | 亚洲 精品 综合 精品 自拍 | 生活片毛片| 久久久久久久亚洲av无码 | 国产精品视频一区二区三区, | 欧美一区二区视频 | 一本免费视频 | 手机在线亚洲 | 国产精品国产三级国产aⅴ9色 | 免费看国产一级片 | 国产精品情侣自拍 | 精品在线第一页 | 毛片一级视频 |