使用Lookout应用程序(https://play.Google.com/store/apps/details?ID=com.lookout),我看到每次安装或升级应用程序时,它都会自动扫描此应用程序以确保它不是恶意的.
关注Lookout,我编写了一个简单的应用程序,可以在安装或升级每个应用程序时收听广播消息. AFAIK,有一些类型的IntentFilter用于广播消息,它是:
> Intent.ACTION_PACKAGE_ADDED
> Intent.ACTION_PACKAGE_CHANGED
> Intent.ACTION_PACKAGE_INSTALL
我希望Intent.ACTION_PACKAGE_ADDED是答案,但它是错误的(ACTION_PACKAGE_ADDED:设备上已经安装了一个新的应用程序包.数据包含了包的名称.请注意,新安装的包不接收此广播.)ACTION_PACKAGE_INSTALL是弃用.
谁能告诉我一个更好的方法?欢迎任何帮助.
解决方法:
如果您正在安装应用程序A,则设备上的所有其他应用程序将获得Intent,即应用程序A是新安装的应用程序但不是A本身,因为它似乎没有任何用处.如果稍后安装或更改其他应用程序,现在A将获得广播.
如果您想了解安装应用程序的时间或其他应用程序的上次安装或更新时间,您可以随时使用PackageManager:
@H_403_21@PackageManager pm = context.getPackageManager();ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);String appfile = appInfo.sourceDir; long installed = new file(appfile).lastModifIEd();
这里app.package.name是您要查找安装时间的应用程序的包名称.如果您想将它用于您的应用,请传入您应用的包名称.
总结以上是内存溢出为你收集整理的在Android中收听app安装/升级的广播消息全部内容,希望文章能够帮你解决在Android中收听app安装/升级的广播消息所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)