如何在Android设备检测新应用(How to detect new apps in an And

2019-07-30 10:05发布

我想,以检测当用户安装或删除的应用程序,我没有找到一个BroadcastReceiver ,这是否。

在我的应用程序,我得到带班安装的应用程序的信息PackageManager ,但我不希望定期扫描应用程序。 是否有任何BroadcastReceiver ,这是否? 或任何ContentObserver ? 是否有可能得到的是一个应用程序已经被安装或删除的通知?

Answer 1:

您可以注册一个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. */
}


文章来源: How to detect new apps in an Android device