Android實(shí)現(xiàn)一鍵鎖屏功能
android實(shí)現(xiàn)一鍵鎖屏
創(chuàng)建AdminReceiver
import android.app.admin.DeviceAdminReceiver; public class AdminReceiver extends DeviceAdminReceiver { }
在xml中創(chuàng)建device_admin.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>
在manifest中加入
<receiver android:name=".AdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN" android:exported="false"> <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin" /> <intent-filter> <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> </intent-filter> </receiver>
最后MainActivity
import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Process; import android.os.SystemClock; public class MainActivity extends AppCompatActivity { private ComponentName componentName; private void activeManager() { //使用隱式意圖調(diào)用系統(tǒng)方法來(lái)激活指定的設(shè)備管理器 Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "一鍵鎖屏"); startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar actionBar = getSupportActionBar(); actionBar.hide(); new Thread(new Runnable() { @Override public void run() { DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); componentName = new ComponentName(getApplicationContext(), AdminReceiver.class); if (dpm.isAdminActive(componentName)) {//判斷是否有權(quán)限(激活了設(shè)備管理器) dpm.lockNow();// 直接鎖屏 //殺死當(dāng)前應(yīng)用 Process.killProcess(Process.myPid()); } else { activeManager();//激活設(shè)備管理器獲取權(quán)限 } } }).start(); } }
到此這篇關(guān)于Android實(shí)現(xiàn)一鍵鎖屏的文章就介紹到這了,更多相關(guān)android一鍵鎖屏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android數(shù)據(jù)庫(kù)增刪改查實(shí)戰(zhàn)案例
我們?cè)诰幊讨薪?jīng)常會(huì)遇到數(shù)據(jù)庫(kù)的操作,這篇文章主要給大家介紹了關(guān)于Android數(shù)據(jù)庫(kù)增刪改查的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04Android SDK命令行工具M(jìn)onkey參數(shù)及使用解析
這篇文章主要介紹了Android SDK命令行工具M(jìn)onkey參,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值數(shù)及使用解析,需要的朋友可以參考下2020-10-10Android Studio配置Kotlin開(kāi)發(fā)環(huán)境詳細(xì)步驟
這篇文章主要介紹了Android Studio配置Kotlin開(kāi)發(fā)環(huán)境詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下2017-05-05手把手教學(xué)Android用jsoup解析html實(shí)例
本篇文章主要介紹了手把手教學(xué)Android用jsoup解析html實(shí)例,jsoup 是一款Java 的HTML解析器。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Android判斷NavigationBar是否顯示的方法(獲取屏幕真實(shí)的高度)
有些時(shí)候,我們需要知道當(dāng)前手機(jī)上是否顯示了NavigationBar,也就是屏幕底部的虛擬按鍵。這篇文章主要介紹了Android判斷NavigationBar是否顯示的方法(獲取屏幕真實(shí)的高度),需要的朋友可以參考下本文2017-01-01Android開(kāi)發(fā)中編寫(xiě)藍(lán)牙相關(guān)功能的核心代碼講解
這篇文章主要介紹了Android開(kāi)發(fā)中編寫(xiě)藍(lán)牙功能的核心部分講解,包括掃描和配對(duì)以及修改藍(lán)牙設(shè)備可見(jiàn)性等操作,需要的朋友可以參考下2016-02-02Android自定義gridView仿頭條頻道拖動(dòng)管理功能
這篇文章主要介紹了Android自定義gridView仿頭條頻道拖動(dòng)管理功能,本文通過(guò)實(shí)例代碼效果圖展示給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12Flutter開(kāi)發(fā)setState能否在build中直接調(diào)用詳解
這篇文章主要為大家介紹了Flutter開(kāi)發(fā)setState能否在build中直接調(diào)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Android實(shí)現(xiàn)微信支付的統(tǒng)一下單
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)微信支付的統(tǒng)一下單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06