91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android打開關閉屏幕

發布時間:2020-06-17 19:12:53 來源:網絡 閱讀:7329 作者:whatever957 欄目:移動開發


打開和關閉手機屏幕方法:


1.關閉屏幕

//設備管理者

private DevicePolicyManager mDevicePolicyManager;

//關屏組件

private ComponentName mCompName;


onCreate()

{

mDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

// 申請權限

mCompName = new ComponentName(this, YNAdminReceiver.class);

}


//點擊按鈕關閉屏幕

public void onScreenOff(View view) {

// 判斷該組件是否有系統管理員的權限

if (!mDevicePolicyManager.isAdminActive(mCompName)) {//這一句一定要有...

Intent intent = new Intent();

//指定動作

intent.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);

//指定給那個組件授權

intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mCompName);

startActivity(intent);

} else {

//立即關閉屏幕

mDevicePolicyManager.lockNow();

//                    devicePolicyManager.resetPassword("123321", 0);

Log.i(TAG, "具有權限,將進行鎖屏....");

Log.i(TAG, "going to shutdown screen");

}

}


其中,組件mCompName是一個DeviceAdminReceiver:

package com.yn.receivers;

public class YNAdminReceiver extends DeviceAdminReceiver {

}

以上就是關屏的代碼部分,剩下還需配置:

//res/xml/yndeviceadmin.xml

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

<device-admin xmlns:android="http://schemas.android.com/apk/res/android" >

<uses-policies>

<force-lock />

</uses-policies>

</device-admin>


//AndroidMainfest.xml

<!-- 配置權限 -->

<uses-permission android:name="android.permission.USES_POLICY_FORCE_LOCK" />

<!-- 聲明關屏組件 -->

<receiver android:name="com.yn.receivers.YNAdminReceiver" >

<meta-data android:name="android.app.device_admin"

<!-- 指定組件配置 -->

android:resource="@xml/yndeviceadmin/>

<intent-filter >

<action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>

</intent-filter>

</receiver>

通過以上配置,就可以實現關屏了。



2.打開屏幕(打開屏幕,只需一個wakelock即可)

private PowerManager mPowerManager;

private PowerManager.WakeLock mScreenLock;


onCreate()

{

mPowerManager = ((PowerManager) getSystemService(POWER_SERVICE));

mScreenLock = mPowerManager.newWakeLock(

PowerManager.ACQUIRE_CAUSES_WAKEUP //該flag使能屏幕關閉時,也能點亮屏幕(通常的wakelock只能維持屏幕處于一直開啟狀態,如果滅屏時,是不會自動點亮的)

| PowerManager.SCREEN_DIM_WAKE_LOCK

| PowerManager.ON_AFTER_RELEASE, "screenOnWakeLock");

}


//點擊按鈕,5s后獲取鎖(如果此時屏幕處于關閉狀態,5s后獲取鎖時,會點亮屏幕)

public void onScreenOn(View View) {

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

//isHeld(),判斷是否獲取鎖,false未獲取鎖

if (!mScreenLock.isHeld()) {

mScreenLock.acquire();

Toast.makeText(MainActivity.this, "acquire", Toast.LENGTH_SHORT).show();

} else {

mScreenLock.release();

Toast.makeText(MainActivity.this, "release", Toast.LENGTH_SHORT).show();


}

}

}, 5000);

}


最后,還需要在AndroidManifest.xml中配置權限

<uses-permission android:name="android.permission.WAKE_LOCK" />


通過以上步驟,就可以實現開啟屏幕了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博白县| 齐河县| 三台县| 准格尔旗| 萝北县| 建德市| 漠河县| 泗阳县| 平乡县| 日土县| 普格县| 乌拉特中旗| 施秉县| 乌兰浩特市| 景泰县| 兴国县| 通海县| 巴林左旗| 江陵县| 荔波县| 乐都县| 卓资县| 罗田县| 高台县| 舟曲县| 额尔古纳市| 西平县| 郓城县| 金山区| 凤城市| 社会| 格尔木市| 双江| 文昌市| 湘阴县| 黄山市| 安康市| 新邵县| 巴彦淖尔市| 大荔县| 得荣县|