本文共 2655 字,大约阅读时间需要 8 分钟。
/* * 创建Myadmin继承DeviceAdminReceiver; *在res文件下创建xml文件夹,在xml下创建按lock.xml *在清单文件中,* * *///一键锁屏public void lockscreen(){ DevicePolicyManager dc;//设备管理 dc= (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); ComponentName mdeviceAdminSample=new ComponentName(this,Myadmin.class); if(dc.isAdminActive(mdeviceAdminSample)){ dc.lockNow(); //设置屏幕密码 dc.resetPassword("123456",0); //清除数据---sd卡的数据 dc.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE); dc.wipeData(0);//这个是回复出厂设置 }else{ //需要开启管理员权限 return; }} //用代码去开启管理员 public void openAdmin(View view){ Intent intent=new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); //要激活的组件 ComponentName mdeviceAdminSample=new ComponentName(this,Myadmin.class); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mdeviceAdminSample); //劝说用户开启管理员权限 intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"开启一键锁屏吧,台方便了"); startActivity(intent); } //卸载软件 public void unInstall(){ //1.先清除管理员权限 DevicePolicyManager dc;//设备管理 dc= (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); ComponentName mdeviceAdminSample=new ComponentName(this,Myadmin.class); dc.removeActiveAdmin(mdeviceAdminSample); //2.普通应用卸载Intent intent=new Intent();intent.setAction("android.intent.action.VIEW");
intent.setAction("android.intent.action.DELETE");intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:"+getPackageName()));startActivity(intent); }
/* *开启一个应用程序 * * * */ private void startApplication(){ //查询这个应用程序的入口activity,吧他开启起来 PackageManager pm=getPackageManager();//查询某一个应用具有启动能力的actvity---启动指定包名的应用 Intent intent1= pm.getLaunchIntentForPackage(info.getPackname()); if (intent1!=null){ startActivity(intent1); }else { } } //查询出来所有手机上具有启动能力的activity public void deskApp(){Listpacknames; PackageManager pm=getPackageManager(); Intent intent=new Intent(); intent.setAction("android.intent.action.MAIN"); intent.addCategory("android.intent.category.LAUNCHER"); //查询出来所有手机上具有启动能力的activity @SuppressLint("WrongConstant") List infos=pm.queryIntentActivities(intent,PackageManager.GET_INTENT_FILTERS); packnames=new ArrayList (); for (ResolveInfo info:infos){ String packname=info.activityInfo.packageName; Intent i=pm.getLaunchIntentForPackage(packname); packnames.add(packname);} }
转载地址:http://ptmgi.baihongyu.com/