监听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(安卓)SeekBar的使用
  3. Android(安卓)Wi-Fi工作原理
  4. android中线程进程模型
  5. Android(安卓)应用程序基础
  6. 享受Android应用程序的Java技术盛宴
  7. Android应用程序开发实用案例50则
  8. Android(安卓)平台基础开发简介
  9. android 入门之二【android 体系架构】

随机推荐

  1. Android游戏开发菜鸟之路(三)
  2. android自定义view控件
  3. android按键映射
  4. Linux,maven,redis,android,java,yum,ant
  5. Android(安卓)富文本
  6. Android获取SD卡上图片和视频缩略图的几
  7. Android购物车全选功能实现·
  8. Android获得文本框 单选框 多选框的值
  9. 在android上开启root权限临时解决方法
  10. App源码分享大赛精彩代码日报