我想,以检测当用户安装或删除的应用程序,我没有找到一个BroadcastReceiver
,这是否。
在我的应用程序,我得到带班安装的应用程序的信息PackageManager
,但我不希望定期扫描应用程序。 是否有任何BroadcastReceiver
,这是否? 或任何ContentObserver
? 是否有可能得到的是一个应用程序已经被安装或删除的通知?
我想,以检测当用户安装或删除的应用程序,我没有找到一个BroadcastReceiver
,这是否。
在我的应用程序,我得到带班安装的应用程序的信息PackageManager
,但我不希望定期扫描应用程序。 是否有任何BroadcastReceiver
,这是否? 或任何ContentObserver
? 是否有可能得到的是一个应用程序已经被安装或删除的通知?
您可以注册一个BroadcastReceiver
使用Intent.ACTION_PACKAGE_ADDED
(也Intent.ACTION_PACKAGE_REMOVED
和/或Intent.ACTION_PACKAGE_CHANGED
如有必要)。 例如,
void registerReceiver() {
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
filter.addDataScheme("package_name");
}
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {
Uri data = intent.getData();
String pkgName = data.getEncodedSchemeSpecificPart();
}
/* etc. */
}