您的位置:首页 > 移动开发 > Android开发

android 手机Phone进程下无权限发送短信问题的解决办法

2016-09-07 14:26 316 查看
使用背景:

最近公司开发了一款App,是通过配置android:sharedUserId="android.uid.phone"  及android:process="com.android.phone"让我的app运行在phone进程中并共享了用户。

但是默认phone进程下没有权限发送短信,调用smsManager.sendTextMessage发短信的时候报没有权限的异常!


解决方法:

既然phone进程中不让发短信,那么我把发短信的逻辑放到另外一个进程中的service中,然后在phone进程中启用该service,岂不是可以解决,但是有一个问题就是不知道在phone进程中能不能直接启动这个service呢?通过试验发现竟然可以启动,好神奇


但是还发现启动service只能通过startService()方法去启动,如果通过bindService去启动的话,返回的binder的类型是BinderProxy类型的,看来系统是把它当成进程间通信来处理了,可能需要通过AIDL去处理才能用,具体本人没试验,有兴趣的小伙伴可以试试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息