All I am trying to do is update my list on each Install & Uninstall but not on Package Replace .So the main problem is that Install & Uninstall intents are launched on each Replace action.
So For this I have implemented a BroadcastReciever as below
<receiver android:name =".IntentReceiverTest.AppReciever">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
On each Replace I get 3 broadcasts with actions
So please suggest any better way to catch only Replace Action
Or
a way to stop previously launched Services due to PACKAGE_REMOVED and PACKAGE_ADDED action.
Just check intent.getBooleanExtra(Intent.EXTRA_REPLACING, false)
:
if (!intent.getAction().equals(Intent.ACTION_PACKAGE_REPLACED) &&
intent.getBooleanExtra(Intent.EXTRA_REPLACING, false))
return;