Android獲取超級管理員權(quán)限的實(shí)現(xiàn)
1.定義特殊的廣播接收者,系統(tǒng)超級管理員的廣播接收者
public class MyDeviceAdminReceiver extends DeviceAdminReceiver{ @Override public void onReceive(Context context,Intent intent){ //TODO }}
2.在AndroidManifest.xml文件中,注冊超級管理員的廣播接收者
<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ǔ)充知識:Android通過代碼獲取ROOT權(quán)限
獲取Android的ROOT權(quán)限其實(shí)很簡單,只要在Runtime下執(zhí)行命令'su'就可以了。
首先我們需要檢測是否已經(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)限時出錯!', Toast.LENGTH_LONG).show(); } }}
以上這篇Android獲取超級管理員權(quán)限的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案2. jsp實(shí)現(xiàn)局部刷新頁面、異步加載頁面的方法3. xml文件的結(jié)構(gòu)解讀第1/2頁4. Jsp中request的3個基礎(chǔ)實(shí)踐5. 使用python修改文件并立即寫回到原始位置操作(inplace讀寫)6. python GUI庫圖形界面開發(fā)之PyQt5工具欄控件QToolBar的詳細(xì)使用方法與實(shí)例7. 什么是python的id函數(shù)8. python GUI庫圖形界面開發(fā)之PyQt5計(jì)數(shù)器控件QSpinBox詳細(xì)使用方法與實(shí)例9. Python填充任意顏色,不同算法時間差異分析說明10. Java map.getOrDefault()方法的用法詳解
