2014-06-19 16 views
0

我有一个应用程序,可以编程方式发送彩信,而不诉诸任何使用ICS中工作意图的第三方应用程序。但是,JB之后,应用程序无法发送彩信,因为它无法获取APN。 特别是,我用下面的命令来获得APNS的电话:如何以编程方式无意发送彩信

List<APN> apns = cr.query(Uri.withAppendedPath(Carriers.CONTENT_URI, "current"), null, null, null, null); 

此请求失败,以下情况除外:

java.lang.SecurityException: No permission to write APN settings: android.permission.WRITE_APN_SETTINGS. 

这只是发生在JB起。获取运营商的MMS APN信息的解决方法是什么?

回答

0

据我所知,没有公开的API来实现这个任务。Android没有公开API发送MMS。如果你想发送MMS,那么你必须编写代码。请参考AOSP代码。 https://github.com/android/platform_packages_apps_mms或者您可以使用意图,然后启动本地消息应用程序。

+0

这使用权限WRITE_APN_SETTINGS,它是“不适用于第三方应用程序”。我需要编写的应用程序不是系统应用程序。 我看到一些非系统应用程序,如Handcent,Textra可以发送和接收彩信。他们是怎么写的? – user2995358

+0

@ user2995358我会想象他们会猜测APN设置是基于运营商名称,然后有一个选项可以手动覆盖他们的猜测,如果它不工作。 –