博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android之一键锁屏、开启管理员权限、取消权限、卸载应用、开启应用
阅读量:4289 次
发布时间:2019-05-27

本文共 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(){List
packnames; 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/

你可能感兴趣的文章
《程序员》:携程移动端 UI 界面性能优化实践
查看>>
Android指纹识别深入浅出分析到实战
查看>>
你们要的多数据库功能终于来了
查看>>
Android中实现微信本地视频发布到朋友圈功能
查看>>
非替代品,MongoDB与MySQL对比分析
查看>>
Hadoop平台相关技术
查看>>
java学习11天-自定义异常&异常转换(实例应用)
查看>>
MySql、SqlServer、Oracle数据库行转列大全
查看>>
程序员常用的自助建站资源汇总!
查看>>
分布式与集群的区别是什么?
查看>>
MySql常用必备脚本大全
查看>>
Velocity初探小结--velocity使用语法详解
查看>>
设计模式学习 - Singleton Pattern
查看>>
学习Spring——依赖注入
查看>>
CSS3 transform 属性详解
查看>>
Java对象内存结构及大小计算
查看>>
Spring MVC注解的一些案列
查看>>
Web大文件断点续传,快来看看吧!
查看>>
javascript高级编程3第二章:在html中使用javascript
查看>>
Android中热修复框架AndFix原理解析及案例使用
查看>>