【Android】SecurityException


 
public boolean checkNetwork() {
    boolean result = false;
        
    try {
        Context context = this.getApplicationContext();
        ConnectivityManager connectivityMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityMgr.getActiveNetworkInfo();
        if (networkInfo != null) {
            result = networkInfo.isAvailable();
        }
    }
    catch (Exception e) {
        Log.e("test", "get active network info leave: " + e.getMessage());
    }
        
    return result;
}

 

 簡單的網絡檢查,卻在connectivityMgr.getActiveNetworkInfo();時拋出如下異常:

java.lang.SecurityException: ConnectivityService: Neither user 10037 nor current process has android.permission.ACCESS_NETWORK_STATE.

原因:SecurityException,顯然是權限不夠。

解決方案:在AndroidManifest.xml中,加入如下權限:

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM