android监听应用安装
㈠ android程序怎样监听自身程序被安装和卸载
在android系统中,安装和卸载都会发送广播,当应用安装完成后系统会发android.intent.action.PACKAGE_ADDED广播。可以通过intent.getDataString()获得所安装的包名。当卸载程序时系统发android.intent.action.PACKAGE_REMOVED广播。同样intent.getDataString()获得所卸载的包名。
㈡ android为什么监听不到应用覆盖安装的广播
这里的广播是指你app里的广播还是手机系统的广播。
如果是你自己手机的app的广播,你是否有注册监听广播。
如果是手机系统的广播,因为以前所有的app开启及运行,都以监听手机开机广播,后来开发商直接拦截,不让app监听手机开机等广播。
㈢ android 8.0以上监听app安装
Android 8.0去掉了部分隐式广播,例如网络的变化、app的安装和卸载等。这些广播使用之前的的静态注册已经不能接收到广播,需要动态注册才能收到广播。
APP安装的广播注册流程
private void () {
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 =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 能不能监听到第三方应用App的启动和退出
应该是可以的。还可以在应用内调用某些应用 或者 是获取并操作其他应用的数据,不过要有相关的权限或者ContentProvider。
监听程序启动见 某大神的博客:
http://blog.csdn.net/xiao_chilun/article/details/52096149
㈤ Android 能不能监听到第三方应用App的启动和退出
可以,我原来做的是用一个计时器(为了准确率可以0.1s轮询一次)去监听手机的TopActivity,获取TopActivity的包名(应用的包名是唯一的),当TopActivity发生变化就说明使用的应用发生了改变,就实现了监听第三方应用的启动和退出(其中也包括系统应用,过滤包名就可以了)。有什么问题再问我
㈥ android程序怎样监听自身程序被安装和卸载
这个我想到的就一种方法,读取Log信息,然后判断是否被安装,其实系统安装成功之后,会发广播的,很详细,但是这种广播最好是第三方软件坚定为好,自己就没法监听,我前一阵子做升级,就像用这个,但是没用成,最后只是下载apk成功之后,发送给服务器日志信息,感觉自己监听自己,功能实现上好像有些矛盾,个人意见..