BroadcastReceiver在新的应用程序上安装

kod*_*der 3 android package broadcastreceiver android-intent

我想在安装新应用程序时收到通知.

IntentFilter newAppFilter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
newAppFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
newAppFilter.addAction(Intent.ACTION_PACKAGE_INSTALL);
newAppFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
getApplicationContext().registerReceiver(newAppReceiver, newAppFilter);


public static BroadcastReceiver newAppReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {     
            Log.e("Broadcast","Received");
       }
};
Run Code Online (Sandbox Code Playgroud)

但我无法得到任何日志.有人可以帮帮我吗?

Ser*_*tov 10

尝试将数据方案添加到您的IntentFilter.

newAppFilter.addDataScheme("package");
Run Code Online (Sandbox Code Playgroud)

参考:IntentFilter.addDataScheme()文档

如果不包含任何方案,那么仅当Intent不包含数据时才会匹配.