收到短信時我無法捕捉到意圖。以下是我的服務代碼。我能夠抓住「Intent.ACTION_SCREEN_ON
」和「Intent.ACTION_SCREEN_OFF
」,但我無法抓住SMS_RECEIVED
意圖「android.provider.Telephony.SMS_RECEIVED
」。無法捕獲通過android.provider.Telephony.SMS_RECEIVED收到的短信
真誠感謝我在這裏做錯了什麼提示?
public class SmsCatcher extends Service{
BroadcastReceiver myBroadcast = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("myBroadcast SmsCatcher", "Entered onReceive method");
if(intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
Log.i("myBroadcast SmsCatcher", "Caught SCREEN_OFF");
}
if(intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
Log.i("myBroadcast SmsCatcher", "Caught SCREEN_ON");
}
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Log.i("myBroadcast SmsCatcher", "SMS_RECEIVED");
}
}
};
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.i("neil SmsCatcher", "Entered onCreate() in 'SmsCatcher extends Service'");
Toast.makeText(this, "Entered onCreate() in 'SmsCatcher extends Service'", Toast.LENGTH_LONG).show();
registerReceiver(myBroadcast, new IntentFilter(Intent.ACTION_SCREEN_ON));
registerReceiver(myBroadcast, new IntentFilter(Intent.ACTION_SCREEN_OFF));
}
@Override
public void onDestroy() {
super.onDestroy();
Log.i("neil SmsCatcher", "Entered onDestroy() in 'SmsCatcher extends Service'");
Toast.makeText(this, "Entered onDestroy() in 'SmsCatcher extends Service'", Toast.LENGTH_LONG).show();
}
}
更新1:添加從我正在進行調試一些更多的信息: 我使用的應用程序Internal Broadcasts Monitor看到有一個廣播時,有收到一條短信,我沒有看到任何東西,很奇怪。可能是什麼原因? 我安裝了其他短信應用程序(環聊,AT & T消息) - 這些不能抑制廣播可以嗎?
更新2:發現問題,但不知道如何解決 我卸載了Google Hangouts (replaces Talk)應用程序和它的作品! 任何解決方案? (我應該可以打開一個單獨的線程按計算器規則?)
更新3:找到根本原因(下面當然了,謝謝) 事實證明,因爲新的谷歌Hangouts應用程式,我需要到setPriority(int)。我發現在Enabling SMS support in Hangouts 2.0 breaks the BroadcastReceiver of SMS_RECEIVED in my app
謝謝,我添加了registerReceiver(...),但我仍然沒有抓住意圖。我更新了一些更多的調試問題,我不認爲正在生成廣播,很奇怪:S – user1406716
我正在將你的標記作爲答案,因爲你設置IntentFilter的方式最容易setPriority(int)[按照我的更新3以上]。謝謝。 – user1406716
我會將其添加到答案中以供將來幫助 – insomniac