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)限時(shí)出錯(cuò)!', Toast.LENGTH_LONG).show(); } }}
以上這篇Android獲取超級管理員權(quán)限的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP動(dòng)態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗(yàn)分享2. SXNA RSS Blog 聚合器程序3. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向4. XML入門的常見問題(四)5. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera6. PHP設(shè)計(jì)模式中工廠模式深入詳解7. XML 增、刪、改和查示例8. ASP常用日期格式化函數(shù) FormatDate()9. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法10. webpack高級配置與優(yōu)化詳解
