我正在發送和接收短信的應用程序。發送是好的,但在接收短信應用程序運行時,接收也可以,但是當我關閉應用程序時,我的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