I just want to know about intent of uninstall app because of
in my app when user opens the first screen then the device id will be saved in server side by using php.
You can detect uninstall pop up of any app(including your own app) using Accessibility Service.
public class MyService extends AccessibilityService {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
if(event.getText().equalsIgnoreCase("check for content in popup which is in screenshot"){
/**Do your task*/
}
}
}
@Override
public void onInterrupt() {
}
@Override
protected void onServiceConnected() {
super.onServiceConnected();
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.flags = AccessibilityServiceInfo.DEFAULT;
info.packageNames = new String[]{"com.android.packageinstaller"};
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED | AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
setServiceInfo(info);
}
here in onServiceConnected
, [![com.android.packageinstaller][1]][1]
represents the install/uninstall app package name(this is system app and it doesn't have any UI so it will not shown to users.).
<receiver android:name=".MyReceiver">
<intent-filter android:priority="999">
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
test in Android 4.0 and its works fine
You cannot get the uninstall intent for your own app. See this thread for more - Get application uninstall event in android