Search code examples
androidbroadcastreinstall

android : detect the reinstall of an app from the app code


Is there a way to detect from app code when it is being reinstalled.

I saw that app update from market can be detected by listening to PACKAGE_REPLACED event in broadcast receiver. But that these events are not delivered to the app , if the app is reinstalled from editor (eclipse ).

My requirement is that i am disabling a component(Launcher activity). The app install will fail if it is not enabled. SO everytime before reinstall i want to enable this component.

I am talking about the reinstall before publishing in market. While developing , each time i reinstall the app to test some modification, i want to detect this from my app and make the component enabled.


Solution

  • I saw from my example that the following events will be broadcasted when an app is reinstalled from eclipse.

    <intent-filter>
            <action android:name="android.intent.action.PACKAGE_ADDED"/>
            <action android:name="android.intent.action.PACKAGE_REPLACED"/>
                 </intent-filter>
    

    I defined a broadcast receiver for these actions and from onreceive i am able to enable my component