android 广播与服务问题
问题是:我定义一个广播,接收发送来的短信。但是,当我退出我的应用时,我的代码不能接收短信哦,怎么样才能让程序可以接收信息哦?
代码如下:.MyStartB是我自定义的广播
- Java code
<receiver android:name=".MyStartB" > <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
广播MyStartB
- Java code
public class MyStartB extends BroadcastReceiver { static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";@Override public void onReceive(Context context, Intent intent) { Log.e("TAG", "*****onReceive01******************"); if (intent.getAction().equals(MyStartB.ACTION)) { Log.e("TAG", "*****onReceive02******************");}}//运行之后,没有输出结果哦,请大家帮我看看,怎么为事哦。可能是我没有发送广播。
//我要发送广播得在activity里,但是我退出程序之后,activity也退出了,那么就不能
//接收广播了吗?怎么样,让程序可以接收信息广播
[解决办法]
如果开机启动广播可以接收到,说明代码应该没问题;
如果只是短信广播收不到,有可能是手机的问题。例如手机上安装了一些防毒软件之类...
[解决办法]
把broascastreveiver设置成全局的,就是把它声明在manifest中。
[解决办法]
<uses-permission android:name=”android.permission.RECEIVE_SMS”/>
[解决办法]
在配置文件中声明广播 全局下试试 ,还有权限问题 还有就是短信的接受好像有顺序 ,接受的顺序靠后有的应用会广播的传递终止 好像是这样吧