【发布时间】:2014-05-23 12:10:20
【问题描述】:
当我们要在 Android 4.0 中卸载应用程序时,我想收到消息或警报,我收到低于 4.0 但不是最新版本的警报消息。
这在 SDK 10 中可以正常工作,但在 SDK 16 或更高版本中无法正常工作。
这是我的 BroadcastReceiver 类
public class UninstallReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// fetching package names from extras
String[] packageNames = intent.getStringArrayExtra("android.intent.extra.PACKAGES");
if(packageNames!=null){
for(String packageName: packageNames){
if(packageName!=null && packageName.equals("com.example.sos")){
// start your activity here and ask the user for the password
Intent intt = new Intent(context,EmailActivity.class);
intt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intt);
}
}
}
}
}
在 Android manifest.xml 中
<receiver android:name="com.example.pw.receiver.UninstallReceiver">
<intent-filter android:priority="0">
<action android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
<data android:scheme="package" />
</intent-filter>
</receiver>
它在 Android SDK 16 或 Android 4.0 下可以正常工作,但在最新版本中无法正常工作。
请帮我解决SDK兼容性问题。
提前致谢
【问题讨论】:
-
@CharanPai 请仔细阅读问题然后发表评论,此问题仅适用于Android 4.0或更高版本,而不是之前
-
如果这是可能的,则表示 Android 存在安全漏洞。应用程序在卸载时不应获得控制权。
-
@CommonsWare 感谢您的回复,但您能告诉我如何在卸载前显示消息吗?