Android 卸载应用比较简单:
packageName 为你获取到的app的packageName 这里就不说了
Uri uri = Uri.parse("package:"+packageName);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DELETE);
intent.setData(uri);
startActivity(intent);
如果用startActivityForResult(intent, 1);
在onActivityResult(int requestCode, int resultCode, Intent data)
里无法返回resusltok 我不知道为什么 具体原因不明
那么最好使用BroadcastReceiver来处理:
mUninstallReceiver = new UninstallReceiver();
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_REMOVED);
filter.addDataScheme("package");
this.registerReceiver(mUninstallReceiver, filter);
private class UninstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (packageName != null && ("package:" + packageName).equals(intent.getDataString())) {
这里可以做一些更新list的操作
//mListAdapter.notifyDataSetChanged();
//bindApps();
//listView.setSelection(currentPosition);
}
}
}
在
protected void onDestroy() {
unregisterReceiver(mUninstallReceiver);
super.onDestroy();
}
注销掉即可