打開和關閉手機屏幕方法:
創新互聯公司-專業網站定制、快速模板網站建設、高性價比和龍網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式和龍網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋和龍地區。費用合理售后完善,10余年實體公司更值得信賴。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" />
通過以上步驟,就可以實現開啟屏幕了。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:android打開關閉屏幕-創新互聯
瀏覽地址:http://m.newbst.com/article32/coeesc.html
成都網站建設公司_創新互聯,為您提供企業建站、App設計、網站收錄、商城網站、用戶體驗、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯