Uri packageURI = Uri.parse("package:com.android.myapp");
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
private class LoadViewTask extends AsyncTask<String, Void, String>
{
@Override
protected String doInBackground(String... params)
{
//here dell app with startActivity(uninstallIntent);
BlackListActivity.getInstance().dellApp(params[0]);
return "done";
}
@Override
protected void onPostExecute(String sss) {
//when call update list,program has stoped, how detect uninstall process done
BlackListActivity.getInstance().updatedData();
// super.onPostExecute(null);
}
}
答案 0 :(得分:3)
除非您拥有所谓的固件密钥,否则您将无法管理用户的应用。从本质上讲,这将为您的应用程序提供标准应用程序不具备的特殊权限。否则,将始终与安装/卸载进行一些用户交互。
如果您没有构建和部署操作系统,则无法获得固件密钥。您需要联系制造商并让他们为您签署您的应用程序,除非您从他们那里订购了数千台设备,否则他们不会这样做(通常也不会这样做)。
我猜你几乎没有从打开任何应用程序实际卸载的信息。我错了,但我非常怀疑。
你可以尝试查询系统中的当前应用,并找到顶部的任何内容的包名。这至少会告诉你用户打开什么来移除应用程序的信息,但是你需要做一些非常快速的事情,假设用户正在卸载你的应用程序(当然,除非你有一个单独的安装的应用程序正在观看)。