一键锁屏应用原理
有时间看到很多锁屏应用,都不知道怎么做的。或许有人有相同的困惑,其实那个灭什么困难的,可以说是很简单的。废话不多说,直接上代码。
注意:你没有在安全设置中激活权限,你点击锁屏时不管用的
在有的手机上不取消激活是卸载不掉的,但是在这里可以解决
创建个Receiver继承DeviceAdminReceiver在里边可以做你想做的事情,假如你只想关闭屏幕,可以啥事情都不用做
创建xml文件夹在文件中声明你要做什么,这是我的xml,device_admin_sample.xml,如果想查看更多的属性可以去samples的ApiDemos中的device_admin_sample.xml查找
//充值开机密码 //锁屏(如果是锁屏只要这一个即可) //清除数据声明的Receiver
activity_main.xml
public class MainActivity extends AppCompatActivity {private DevicePolicyManager devicePolicyManager;ComponentName mDeviceAdminSample;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);devicePolicyManager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);mDeviceAdminSample = new ComponentName(this, LockReceiver.class);if(devicePolicyManager.isAdminActive(mDeviceAdminSample)){devicePolicyManager.lockNow();this.finish();}else{setContentView(R.layout.activity_main);}}public void lock(View view) {if( devicePolicyManager.isAdminActive(mDeviceAdminSample)){devicePolicyManager.lockNow();}else{Toast.makeText(this,"请开启管理员权限",Toast.LENGTH_SHORT).show();}}public void active(View view) {Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "请开启管理员,开启后才可以锁屏,开启后送大礼包");startActivity(intent);}
}
如上就可以锁屏了。
假如有的手机不可卸载可以加入以下代码
public class UninstallActivity extends AppCompatActivity {private DevicePolicyManager devicePolicyManager;ComponentName mDeviceAdminSample;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_uninstall);devicePolicyManager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);mDeviceAdminSample = new ComponentName(this, LockReceiver.class);devicePolicyManager.removeActiveAdmin(mDeviceAdminSample);Intent intent=new Intent();intent.setAction("android.intent.action.DELETE");intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:"+getPackageName()));startActivity(intent);}
}
如此以上最基本的锁屏和卸载就完成了
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
