监听Android应用程序是否卸载成功 -------------卸载Android应用程序的方法---------------
/**
* 卸载Android应用程序
*
* @param packageName
*/
public static void uninstallApk(Context ctx, String packageName) {
Uri packageURI = Uri.parse("package:" + packageName);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
ctx.startActivity(uninstallIntent);
}



---------------------判断是否卸载成功---------------------------


/**
* Created by IntelliJ IDEA.
* User: 罗代均
* Date: 2010-8-16
* Time: 18:11:19
*/
public class AppUninstallActivity extends Activity {

private List<ApplicationInfo> mApps;

private Handler handler = new Handler();

private UninstallReceiver mUninstallReceiver;

private String uninstallPackage;


private GridView gvApps;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.app_uninstall);
mUninstallReceiver = new UninstallReceiver();

gvApps = (GridView) findViewById(R.id.gv_uninstall_apps);

gvApps.setOnItemClickListener(new GridView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
ApplicationInfo app = mApps.get(position);
uninstallPackage = app.packageName;
AppUtils.uninstallApk(AppUninstallActivity.this, uninstallPackage);

}
});


//查询可卸载的应用
query();

//监听卸载广播
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_REMOVED);
filter.addDataScheme("package");
this.registerReceiver(mUninstallReceiver, filter);

}

@Override
protected void onDestroy() {
this.unregisterReceiver(mUninstallReceiver);
super.onDestroy();
}

private class UninstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (uninstallPackage != null && ("package:" + uninstallPackage).equals(intent.getDataString())) {
query();
Toast.makeText(AppUninstallActivity.this, R.string.uninstall_success, Toast.LENGTH_SHORT).show();
}
}
}

private void query() {
ThreadPoolFactory.getInstance().execute(new Runnable() {
public void run() {
mApps = AppUtils.getUnintalledApp(getPackageManager());
final AppUninstallAdapter adapter = new AppUninstallAdapter(AppUninstallActivity.this, mApps);
handler.post(new Runnable() {
public void run() {
gvApps.setAdapter(adapter);
}
});
}
});
}
}

更多相关文章

  1. android环境搭建
  2. Android(安卓)基本UI控件
  3. Android(安卓)Wear - Design Principles for Android(安卓)Wear(
  4. Android监听网络变化
  5. 《Android系统学习》第十一章:Android应用程序Activity组件分析
  6. Android调用打电话(Call Phone)
  7. Android安装卸载程序具体操作方法解析
  8. Android(安卓)4高级编程(第3版) 试读
  9. Android系统架构-----Android的系统体系架构

随机推荐

  1. Smalidea+IntelliJ IDEA/Android Studio
  2. Android高效编程注意事项
  3. Android(安卓)7.0 Settings Summary 小记
  4. Android学习笔记(九)ListView
  5. ReactNative入门-Android原生项目转RN项
  6. Android AutoCompleteTextView动态自动补
  7. Android App性能优化之内存优化
  8. 三种安卓模拟器的安装和比较
  9. Android创建wifi热点爬坑总结
  10. 浅谈Android五大布局