7

I have an app installed in many devices.

If app is uninstalled from any of the device I need an indication.

How to achieve this.

Thanks in advance...!

Noby
  • 6,562
  • 9
  • 40
  • 63

3 Answers3

6

My proposal will be the following. You can intercept the intent for your application uninstall. Simply put the following code in your manifest file:

<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".UninstallIntentActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.DELETE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="package" android:pathPattern="com.testpack.yourapp" />
        </intent-filter>



    </activity>

</application>

After this you can somehow process that your application is going to be deleted (for instance, send you a email), and call the package manager uninstaller.

Yury
  • 20,618
  • 7
  • 58
  • 86
1

You cannot tell when someone uninstalls your app unless you keep track on the statistics in android market. And unless you have only a few installs, that may prove difficult

Bill Gary
  • 2,987
  • 2
  • 15
  • 19
0

What I did was creating a schedule job by sending an empty message to the device via GCM/FCM, if the response is "NotRegistered" from GCM/FCM then I know that the app has been removed from the device.

I do this "detection" once a day for reporting to show how many devices are still having my app installed.

Tony Thian
  • 79
  • 1
  • 4