手机一键锁屏

手机一键锁屏(附源码及apk安装包)

手机锁屏在Google里面也有对应的API实现,本着学习的态度,把手机锁屏的方式写出来,备自己以后查询,有问题的话可以交流。android开发路漫漫,学海无涯苦作舟。
1.首先新建一个AdminReceiver.java。

AdminReceiver.java

     public class AdminReceiver extends DeviceAdminReceiver {

   }

代码不必复写任何方法
2.在Manifest中配置receiver接收者

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.siat.suoping"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver
            android:name=".AdminReceiver"
            android:description="@string/sample_device_admin_description"
            android:label="超级设备管理器"
            android:permission="android.permission.BIND_DEVICE_ADMIN" >
            <meta-data
                android:name="android.app.device_admin"
                android:resource="@xml/device_admin_sample" />

            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>
    </application>


</manifest>

标签receiver中的内容是需要我们添加上去的
3.在res文件夹下新建xml文件夹,在xml文件下创建device_admin_sample.xml文件

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <limit-password />
    <watch-login />
    <reset-password />
    <force-lock />
    <wipe-data />
    <expire-password />
    <encrypted-storage />
    <disable-camera />
  </uses-policies>
</device-admin>

4.需要在valus中的strings.xml中添加一句sample_device_admin_description配置,因为前面receiver标签用到

?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">一键锁屏</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="sample_device_admin_description">启动</string>
</resources>

5.MainActivity.java

public class MainActivity extends Activity {
    private DevicePolicyManager mDPM;
    private ComponentName mDeviceAdminSample;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);// 获取设备策略服务
        mDeviceAdminSample = new ComponentName(this, AdminReceiver.class);// 设备管理组件
        lockScreen();
    }
    //开启任务管理器权限
    public void activeAdmin() {
        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 void lockScreen() {
        if (mDPM.isAdminActive(mDeviceAdminSample)) {// 判断设备管理器是否已经激活
            mDPM.lockNow();// 立即锁屏
            finish();//把Activity页面销毁掉
        } else {
            activeAdmin();
            Toast.makeText(this, "必须先激活设备管理器!", Toast.LENGTH_SHORT).show();
            finish();
        }
    }

}

源码已经上传,仅供参考
http://download.youkuaiyun.com/detail/zhaokai621/9526332

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值