您的位置:首頁技術文章
文章詳情頁

Android獲取超級管理員權限的實現

瀏覽:2日期:2022-09-26 10:42:56

1.定義特殊的廣播接收者,系統超級管理員的廣播接收者

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中創建策略聲明xml

<device-admin xmlns:android='http://schemas.android.com/apk/res/android'><uses-policies> <force-lock/><!--強制鎖屏--> <wipe-data/><!--清除數據--> <reset-password/><!--重置密碼--> ...</uses-policies>

補充知識:Android通過代碼獲取ROOT權限

獲取Android的ROOT權限其實很簡單,只要在Runtime下執行命令'su'就可以了。

首先我們需要檢測是否已經有root權限,判斷代碼如下:

// 判斷是否具有ROOT權限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;}

然后我們執行獲取root權限的代碼

// 獲取ROOT權限public void get_root(){ if (is_root()){ Toast.makeText(mCtx, '已經具有ROOT權限!', Toast.LENGTH_LONG).show(); } else{ try{ progress_dialog = ProgressDialog.show(mCtx, 'ROOT', '正在獲取ROOT權限...', true, false); Runtime.getRuntime().exec('su'); } catch (Exception e){ Toast.makeText(mCtx, '獲取ROOT權限時出錯!', Toast.LENGTH_LONG).show(); } }}

以上這篇Android獲取超級管理員權限的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
国产综合久久一区二区三区