2013-03-30 64 views
1

Android 4.1 (Jelly Beans)無法訪問APN的詳細信息。當我嘗試使用Android 4.1如何閱讀APN詳細信息

final Cursor apnCursor = this.context.getContentResolver().query(Uri.withAppendedPath(Carriers.CONTENT_URI, "current"), null, null, null, null); 

在我的程序訪問APN細節我想發送彩信,而不使用意向。

這將返回一個錯誤,表示我沒有寫APN權限來訪問APN詳細信息。

然後,我添加下面一行到Android清單:

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

此提示錯誤權限只授於系統應用。

那麼我該如何解決這個問題?

回答

1

通過Intent發送您的彩信。

出於安全原因,你不能沒有WRITE_APN_SETTINGS讀取APN的細節,以及權限需要您的應用程序由簽署固件對於要在系統分區上安裝了您的應用程序相同的簽名密鑰進行簽名(例如,由有根的設備用戶)。

+0

不能使用意圖,因爲它壓縮我要附加到它的圖像。我想發送圖像而不壓縮。 – BPSK

+0

@Buddhika:然後說你的應用只適用於固定設備,並指示你的應用的用戶在系統分區上安裝你的應用。 – CommonsWare

+0

無法完成。因爲我的設備也沒有根。這不是我所期望的解決方案。有沒有其他解決方案? – BPSK

0

我認爲這是一個編譯錯誤。 在我的情況下(我想要相同的權限WRITE_APN_SETTINGS),清理項目後(Eclipse-> project-> clean)。編譯錯誤提示將消失。

+0

這將刪除編譯時間error.at運行時仍然會出現錯誤 – BPSK

+0

請參閱以下應用程序,它使用WRITE_APN_SETTINGS,https://github.com/mobileresearch/weibo_android_sdk。這是一個正常的應用程序(非系統應用程序)。該應用使用中文。我希望你能閱讀簡單的中文。:) –