Android獲取超級(jí)管理員權(quán)限的實(shí)現(xiàn)
1.定義特殊的廣播接收者,系統(tǒng)超級(jí)管理員的廣播接收者
public class MyDeviceAdminReceiver extends DeviceAdminReceiver{ @Override public void onReceive(Context context,Intent intent){ //TODO }}
2.在AndroidManifest.xml文件中,注冊(cè)超級(jí)管理員的廣播接收者
<receiver android:name='com.example.receiver.MyDeviceAdminReceiver' android:permission='android.permission.BIND_DEVICE_ADMIN'> <meta-data android:name='android.app.device_admin' android:resource='@xml/device_admin_sample'/> <intent-filter> <action android:name='android.app.action.DEVICE_ADMIN_ENABLED'/> </intent-filter></receiver>
3.在res/xml中創(chuàng)建策略聲明xml
<device-admin xmlns:android='http://schemas.android.com/apk/res/android'><uses-policies> <force-lock/><!--強(qiáng)制鎖屏--> <wipe-data/><!--清除數(shù)據(jù)--> <reset-password/><!--重置密碼--> ...</uses-policies>
補(bǔ)充知識(shí):Android通過(guò)代碼獲取ROOT權(quán)限
獲取Android的ROOT權(quán)限其實(shí)很簡(jiǎn)單,只要在Runtime下執(zhí)行命令'su'就可以了。
首先我們需要檢測(cè)是否已經(jīng)有root權(quán)限,判斷代碼如下:
// 判斷是否具有ROOT權(quán)限public static boolean is_root(){ boolean res = false; try{ if ((!new File('/system/bin/su').exists()) && (!new File('/system/xbin/su').exists())){ res = false; } else { res = true; }; } catch (Exception e) { } return res;}
然后我們執(zhí)行獲取root權(quán)限的代碼
// 獲取ROOT權(quán)限public void get_root(){ if (is_root()){ Toast.makeText(mCtx, '已經(jīng)具有ROOT權(quán)限!', Toast.LENGTH_LONG).show(); } else{ try{ progress_dialog = ProgressDialog.show(mCtx, 'ROOT', '正在獲取ROOT權(quán)限...', true, false); Runtime.getRuntime().exec('su'); } catch (Exception e){ Toast.makeText(mCtx, '獲取ROOT權(quán)限時(shí)出錯(cuò)!', Toast.LENGTH_LONG).show(); } }}
以上這篇Android獲取超級(jí)管理員權(quán)限的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android打包篇:Android Studio將代碼打包成jar包教程2. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼3. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題4. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)5. vue實(shí)現(xiàn)web在線聊天功能6. 解決Android Studio 格式化 Format代碼快捷鍵問(wèn)題7. 基于vue 動(dòng)態(tài)菜單 刷新空白問(wèn)題的解決8. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis9. Java使用Tesseract-Ocr識(shí)別數(shù)字10. Springboot 全局日期格式化處理的實(shí)現(xiàn)
