BroadcastReceiver在新的应用程序上安装

时间:2011-06-02 10:55:47

标签: 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");
       }
};

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

2 个答案:

答案 0 :(得分:10)

尝试将数据方案添加到IntentFilter

newAppFilter.addDataScheme("package");

参考:IntentFilter.addDataScheme()文档

  

如果不包括任何方案,那么a   意图只有在包含时才会匹配   没有数据。

答案 1 :(得分:2)