我在Android v4.2中读取APN时遇到问题(是的,不是写APNS),它引发了一个安全异常:
无权编写APN设置:用户10068和当前进程都没有android.permission.WRITE_APN_SETTINGS.
用于在以前所有平台上运行的相同代码,有没有人知道任何相关的工作?
谢谢!
如果您想阅读适用于Android 4.2及更多版本的APN,则可以进行更改.我测试了它的工作.
在Android 4.1及更低版本中使用此:
Cursor c = getContentResolver().query(Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "current"), null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
对于Android 4.2及更高版本,请使用以下代码:
private static final String[] APN_PROJECTION = {
Telephony.Carriers.TYPE, // 0
Telephony.Carriers.MMSC, // 1
Telephony.Carriers.MMSPROXY, // 2
Telephony.Carriers.MMSPORT // 3
};
Run Code Online (Sandbox Code Playgroud)
这一行:
final Cursor apnCursor =SqliteWrapper.query(context, this.context.getContentResolver(), Uri.withAppendedPath(Carriers.CONTENT_URI, "current"), APN_PROJECTION, null, null, null);
Run Code Online (Sandbox Code Playgroud)
SQLiteWrapperClass是隐藏的(在互联网上找到这个类)
import android.database.sqlite.SqliteWrapper;
Run Code Online (Sandbox Code Playgroud)
我的英语不太好,对不起.
归档时间: |
|
查看次数: |
18552 次 |
最近记录: |