打開和關(guān)閉手機屏幕方法:
10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有渾江免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1.關(guān)閉屏幕
//設(shè)備管理者
private DevicePolicyManager mDevicePolicyManager;
//關(guān)屏組件
private ComponentName mCompName;
onCreate()
{
mDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
// 申請權(quán)限
mCompName = new ComponentName(this, YNAdminReceiver.class);
}
//點擊按鈕關(guān)閉屏幕
public void onScreenOff(View view) {
// 判斷該組件是否有系統(tǒng)管理員的權(quán)限
if (!mDevicePolicyManager.isAdminActive(mCompName)) {//這一句一定要有...
Intent intent = new Intent();
//指定動作
intent.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
//指定給那個組件授權(quán)
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mCompName);
startActivity(intent);
} else {
//立即關(guān)閉屏幕
mDevicePolicyManager.lockNow();
// devicePolicyManager.resetPassword("123321", 0);
Log.i(TAG, "具有權(quán)限,將進(jìn)行鎖屏....");
Log.i(TAG, "going to shutdown screen");
}
}
其中,組件mCompName是一個DeviceAdminReceiver:
package com.yn.receivers;
public class YNAdminReceiver extends DeviceAdminReceiver {
}
以上就是關(guān)屏的代碼部分,剩下還需配置:
//res/xml/yndeviceadmin.xml
//AndroidMainfest.xml
android:resource="@xml/yndeviceadmin/> 通過以上配置,就可以實現(xiàn)關(guān)屏了。 2.打開屏幕(打開屏幕,只需一個wakelock即可) private PowerManager mPowerManager; private PowerManager.WakeLock mScreenLock; onCreate() { mPowerManager = ((PowerManager) getSystemService(POWER_SERVICE)); mScreenLock = mPowerManager.newWakeLock( PowerManager.ACQUIRE_CAUSES_WAKEUP //該flag使能屏幕關(guān)閉時,也能點亮屏幕(通常的wakelock只能維持屏幕處于一直開啟狀態(tài),如果滅屏?xí)r,是不會自動點亮的) | PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "screenOnWakeLock"); } //點擊按鈕,5s后獲取鎖(如果此時屏幕處于關(guān)閉狀態(tài),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中配置權(quán)限 通過以上步驟,就可以實現(xiàn)開啟屏幕了。
當(dāng)前名稱:android打開關(guān)閉屏幕
鏈接分享:http://weahome.cn/article/igpdos.html