1. 程式人生 > >Android中判斷手機是否已經Root

Android中判斷手機是否已經Root

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

本人部落格原文

  在Android中,雖然我們可以通過 Runtime.getRuntime().exec("su") 的方式來判斷一個手機是否Root,
但是該方式會彈出對話方塊讓使用者選擇是否賦予該應用程式Root許可權,有點不友好。 其實我們可以在環境變數$PATH所列出的所有目錄中查詢是否有 su 檔案來判斷一個手機是否Root。 當然即使有su檔案,也並不能完全表示手機已經Root,但是實際使用中作為一個初略的判斷已經很好了。 另外出於效率的考慮,我們可以在程式碼中直接把$PATH寫死。 例項1

    

    private
final static int kSystemRootStateUnknow =- 1 ;     private final static int kSystemRootStateDisable = 0 ;     private
final static int kSystemRootStateEnable = 1 ;     private static int systemRootState = kSystemRootStateUnknow ;         public static boolean isRootSystem ()     {      if ( systemRootState == kSystemRootStateEnable )      {       return true ;      }      else if ( systemRootState == kSystemRootStateDisable )      {       return false ;      }   File f = null ;   final String kSuSearchPaths []={ "/system/bin/" , "/system/xbin/" , "/system/sbin/" , "/sbin/" , "/vendor/bin/" };   try {   for ( int i = 0 ; i < kSuSearchPaths . length ; i ++)   {    f = new File ( kSuSearchPaths [ i ]+ "su" );    if ( f != null && f . exists ())    {     systemRootState = kSystemRootStateEnable ;     return true ;    }   }   } catch ( Exception e )   {   }   systemRootState = kSystemRootStateDisable ;   return false ;     }

結束!

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述