2013-03-30 33 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。这是一个正常的应用程序(非系统应用程序)。该应用使用中文。我希望你能阅读简单的中文。:) –