当前位置: 代码迷 >> Android >> 监听Android应用程序是不是卸载成功
  详细解决方案

监听Android应用程序是不是卸载成功

热度:78   发布时间:2016-05-01 16:58:12.0
监听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;@Overridepublic 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);}@Overrideprotected void onDestroy() {  this.unregisterReceiver(mUninstallReceiver);super.onDestroy();}private class UninstallReceiver extends BroadcastReceiver {@Overridepublic 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);}});}});}}http://hi.baidu.com/luodaijun/blog/item/0887a8c37e9dfc58b219a808.html 

?

  相关解决方案