Android添加桌面快捷方式,兼容所有版本

由于Android版本碎片導致各種兼容問題,遂直接使用Support包下兼容管理類ShortcutManagercomat即可

首先確保獲取全權(quán)限
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
8.0以下系統(tǒng)可能出現(xiàn)應(yīng)用未安裝的問題,在AndroidManifest文件里快捷方式啟動的頁面acitivity標簽里添加android:exported="true"
public static void addShortCutCompact(Context context) {
    if (ShortcutManagerCompat.isRequestPinShortcutSupported(context)) {
        Intent shortcutInfoIntent = new Intent(context, ShortcutActivity.class);
        shortcutInfoIntent.setAction(Intent.ACTION_VIEW); //action必須設(shè)置,不然報錯
        ShortcutInfoCompat info = new ShortcutInfoCompat.Builder(context, "id")
                .setIcon(IconCompat.createWithResource(context, R.mipmap.ic_launcher))
                .setShortLabel("name")
                .setIntent(shortcutInfoIntent)
                .build();
        //當添加快捷方式的確認彈框彈出來時,將被回調(diào),自定義Receiver
        PendingIntent shortcutCallbackIntent = PendingIntent.getBroadcast(context, 0, new Intent(context, ShortcutReceiver.class),PendingIntent.FLAG_UPDATE_CURRENT);
        ShortcutManagerCompat.requestPinShortcut(context, info,     
        shortcutCallbackIntent.getIntentSender());
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容