I tried to register the BroadcastReceiver
in either manifest file or java code. But both of these two methods failed to trigger the onReceive()
method.
After googling this problem, I found a solution for both methods from another Thread in SO:
Android Notification App
In the manifest file (this approach no longer applies since API 26 (Android 8), it was causing performance issues on earlier Android versions):
<receiver android:name=".YourReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_INSTALL" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>
In java code:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL);
intentFilter.addDataScheme("package");
registerReceiver(br, intentFilter);
This should work for you.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…