PlayStore是否发送任何广播消息" com.android.launcher.action.INSTALL_SHORTCUT"动作,当它在安装应用程序之前/之后向主屏幕添加应用程序快捷方式?
我听说过以下方法:
将<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
添加到manifest.xml
扩展BroadcastReceiver
课程,然后覆盖onReceive()
方法
当Play商店将应用程序快捷方式添加到主屏幕时,上述两个步骤是否会让app收到通知?
答案 0 :(得分:0)
在这里,我不认为有任何听众可以直接听取快捷方式。但你可以通过一些棘手的方式:
1)使用监听器监听应用程序安装。你可以通过以下方式注册来实现它:
<receiver android:name=".apps.AppListener">
<intent-filter android:priority="999">
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<action android:name="android.intent.action.PACKAGE_INSTALL"/>
<data android:scheme="package"/>
</intent-filter>
2)在AppListener广播接收器中,无论何时触发它,都要保持5到10秒的延迟并执行操作以使用以下命令获取所有已安装的应用程序:
List<ApplicationInfo> packs = pm.getInstalledApplications(0);
现在您已经安装了所有软件包,在每个项目上进行迭代并callgetLaunchIntentForPackage()
如果返回有效的意图,这意味着它存在于启动器上,否则如果它返回null,则包不会从主屏幕启动。
原因:主屏幕快捷方式是启动器应用程序的子集:)