安卓应用运行、卸载、清除数据、强制停止

IntentFilter appFilter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);//安装广播
appFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);//卸载的广播
appFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);//升级的广播
appFilter.addDataScheme(“package”);

  • 1、卸载应用

        Uri packageURI = Uri.parse("package:" + packageName);
        Intent intent = new Intent(Intent.ACTION_DELETE, packageURI);
        this.startActivity(intent);
    
  • 2.运行

    PackageManager pm = getPackageManager();
    //可以设置启动的方式,这里无设置
    Intent intent = pm.getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
    startActivity(intent);
    
  • 3.强制停止

    mAm = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    
    ResolveInfo resolveInfo = (ResolveInfo) apksListAdapter.getItem(mSelectedPosition);
    mAm.forceStopPackage(resolveInfo.activityInfo.packageName);
    
  • 4.清除数据

     String packageName = resolveInfo.activityInfo.packageName;
     boolean res = mAm.clearApplicationUserData(packageName,        mClearDataObserver);
      mPackageManager.deleteApplicationCacheFiles(packageName, null);
    mPackageManager.clearPackagePreferredActivities(packageName);
    
    class ClearUserDataObserver extends IPackageDataObserver.Stub {
        public void onRemoveCompleted(final String packageName, final boolean succeeded) {

            if(succeeded){
                  
                Message message = new Message();
                message.what = 0x110;
                clearDataHandler.sendMessage(message);
            }
            //清除数据完毕后可以更新相关的UI
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值