android打開關(guān)閉屏幕-創(chuàng)新互聯(lián)

打開和關(guān)閉手機(jī)屏幕方法:

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比和龍網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式和龍網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋和龍地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

1.關(guān)閉屏幕

//設(shè)備管理者

private DevicePolicyManager mDevicePolicyManager;

//關(guān)屏組件

private ComponentName mCompName;

onCreate()

{

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

// 申請(qǐng)權(quán)限

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

}

//點(diǎn)擊按鈕關(guān)閉屏幕

public void onScreenOff(View view) {

// 判斷該組件是否有系統(tǒng)管理員的權(quán)限

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

Intent intent = new Intent();

//指定動(dòng)作

intent.setAction(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);

//指定給那個(gè)組件授權(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是一個(gè)DeviceAdminReceiver:

package com.yn.receivers;

public class YNAdminReceiver extends DeviceAdminReceiver {

}

以上就是關(guān)屏的代碼部分,剩下還需配置:

//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

<!-- 配置權(quán)限 -->

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

<!-- 聲明關(guān)屏組件 -->

<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>

通過(guò)以上配置,就可以實(shí)現(xiàn)關(guān)屏了。

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

private PowerManager mPowerManager;

private PowerManager.WakeLock mScreenLock;

onCreate()

{

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

mScreenLock = mPowerManager.newWakeLock(

PowerManager.ACQUIRE_CAUSES_WAKEUP //該flag使能屏幕關(guān)閉時(shí),也能點(diǎn)亮屏幕(通常的wakelock只能維持屏幕處于一直開啟狀態(tài),如果滅屏?xí)r,是不會(huì)自動(dòng)點(diǎn)亮的)

| PowerManager.SCREEN_DIM_WAKE_LOCK

| PowerManager.ON_AFTER_RELEASE, "screenOnWakeLock");

}

//點(diǎn)擊按鈕,5s后獲取鎖(如果此時(shí)屏幕處于關(guān)閉狀態(tài),5s后獲取鎖時(shí),會(huì)點(diǎn)亮屏幕)

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)限

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

通過(guò)以上步驟,就可以實(shí)現(xiàn)開啟屏幕了。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享名稱:android打開關(guān)閉屏幕-創(chuàng)新互聯(lián)
瀏覽地址:http://muchs.cn/article32/coeesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、App設(shè)計(jì)、網(wǎng)站收錄、商城網(wǎng)站、用戶體驗(yàn)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)