我正在发送和接收短信的应用程序。发送是好的,但在接收短信应用程序运行时,接收也可以,但是当我关闭应用程序时,我的BroadcastReceiver的onReceive方法没有执行,实际上我正在使用android 4,并且我从大学那里听说它可能会达到Android的版本,这意味着Android 4不会让应用程序收到短信时,他们没有显示给用户。这样对吗 ?通过BroadcastReceiver的短信接收器
这里是正常的代码(我是这么认为的)
public class SMSReceiver extends BroadcastReceiver {
private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private static final String ACTIVITY_SERVICE = "activity";
@Override
public void onReceive(Context context, Intent intent) {
// something
}
}
这里是明显的相关内容
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<receiver
android:name="com.ssol.SMSReceiver"
android:permission="android.permission.BROADCAST_SMS" >
<intent-filter android:priority="2147483647" >
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
发布清单 – user2511882
尝试增加'<使用许可权的android:NAME = “android.permission.READ_SMS”/>'也 – JiTHiN
你是如何 “关闭程序”? “我从一所大学那里听说,它可能会达到android的版本,这意味着android 4不会让应用程序在他们没有向用户展示时收到短信,这是对的吗?” - Android 4.4强加了一些限制,但没有什么会影响你在做什么:http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html – CommonsWare