如何捕获或接收安装的应用程序的android os'广播'?

Sye*_*ed 0 android

我想接收Android安装的应用程序的广播.程序是什么?

小智 8

您可以注册广播意图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");
    ...
}

public void onReceive(Context context, Intent intent) {
    String actionStr = intent.getAction();
    if (Intent.ACTION_PACKAGE_ADDED.equals(actionStr)) {
        Uri data = intent.getData();
        String pkgName = data.getEncodedSchemeSpecificPart();
        //handle package adding...
    ...
    }
}
Run Code Online (Sandbox Code Playgroud)