android 8.0以上监听app安装

android 8.0以上监听app安装,第1张

Android 8.0去掉了部分隐式广播,例如网络的变化答稿、app的安装和卸载等。清庆孝这些广播使用之前的的静态注册已经不能接收到广播,需要动态注册才能收到广播。

APP安装差芦的广播注册流程

private void registerInstallAppBroadcastReceiver() {

IntentFilter intentFilter =new IntentFilter()

intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED)

intentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED)

intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED)

intentFilter.addDataScheme("package")

StarNewsSdk.getContext().registerReceiver(mInstallAppBroadcastReceiver, intentFilter)

}

private BroadcastReceivermInstallAppBroadcastReceiver =new BroadcastReceiver() {

@Override

    public void onReceive(Context context, Intent intent) {

if (intent !=null &&TextUtils.equals(Intent.ACTION_PACKAGE_ADDED, intent.getAction())) {

if (intent.getData() !=null) {

String packageName = intent.getData().getSchemeSpecificPart()

Log.d(TAG,"安装的app的包名是-------->" + packageName)

}

}

}

}

}

android系统中,当碧瞎应用安装完成以后会发出一个广播action的值为android.intent.action.PACKAGE_ADDED。只要监听这个广播就可以了。

监听方法悉慧核,创建一个BroadcastReceiver,注册睁掘时添加过滤器,过滤器中添加以上action。

完成以上步骤,当应用安装完成后你的应用就会收到广播。

在android系统中,安装和卸载枣闭镇都会发送广凳粗播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名态滑。当卸载程序时系统发android.intent.action.PACKAGE_REMOVED广播。同样intent.getDataString()获得所卸载的包名。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12509416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存