我的A应用,依靠B应用,我想在卸载A应用的时候,连B一块卸载掉,怎么实现 ?(B应用最好是静默卸载)、我目前的做法是,B应用注册一个广播,当A被卸载时,B接受到系统广播,通过B的包名,调用系统卸载模块 Intent intent2 = new Intent(Intent.ACTION_DELETE, Uri.parse("package:" + packageName));
context.startActivity(intent2);
调用系统卸载模块以后,后台总会有Packageinstaller应用在跑,单击图标,将这个应用掉到前台,则提示找不到B应用。
正常卸载应用程序时,PackageInstaller应用图标不会出现在后台,同样的代码在acitivity执行时,也正常。为什么在receiver中却有这个bug呢?求指点,求解决方案。 谢谢!
context.startActivity(intent2);
调用系统卸载模块以后,后台总会有Packageinstaller应用在跑,单击图标,将这个应用掉到前台,则提示找不到B应用。
正常卸载应用程序时,PackageInstaller应用图标不会出现在后台,同样的代码在acitivity执行时,也正常。为什么在receiver中却有这个bug呢?求指点,求解决方案。 谢谢!
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//get intent information
final Intent intent = getIntent();
Uri packageURI = intent.getData();
String packageName = packageURI.getEncodedSchemeSpecificPart();
if(packageName == null) {
Log.e(TAG, "Invalid package name:"+packageName);
showDialog(DLG_APP_NOT_FOUND);
return;
}packageInstaller源代码的卸载入口activity有这段代码,
你看看log是不是打了Invalid package name:
PackageInstaller应用图标不会出现在后台 不知道你说的啥意思