如果“我的应用程序”已安装在设备中,则从Play商店安装“任何应用程序”之后,请使用我的应用程序显示“通知”

时间:2018-10-27 04:43:48

标签: java android

任何有识之士解决此问题都将非常有帮助... 预先谢谢你

1 个答案:

答案 0 :(得分:-1)

Android 8.0(API级别26)之前,请选中this answer

<receiver android:name=".apps.AppListener">
    <intent-filter android:priority="100">
         <action android:name="android.intent.action.PACKAGE_INSTALL"/>
         <action android:name="android.intent.action.PACKAGE_ADDED"/>  
         <action android:name="android.intent.action.PACKAGE_REMOVED"/>
         <data android:scheme="package"/> 
    </intent-filter>
</receiver>

来自docs: android 8.0 之后

  

面向Android 8.0或更高版本的应用无法再注册   清单中隐式广播的广播接收器。一个   隐式广播是不针对该应用的广播   特别。例如,ACTION_PACKAGE_REPLACED是隐式的   广播,因为它已发送给所有注册的听众,让他们   知道设备上的某些包装已被替换。然而,   ACTION_MY_PACKAGE_REPLACED不是隐式广播,因为它是   仅发送到已替换其软件包的应用程序,无论有多少   其他应用已为该广播注册了侦听器。

解决方法,由CommonsWare,sample app

  

您还可以使用轮询,设置JobScheduler作业来检查每个   经常向PackageManager询问花名册中发生了什么变化   通过getChangedPackages()安装的应用程序: