2014-09-26 50 views
0

我的問題看起來很愚蠢,但是我收到短信時會做一個簡單的代碼來製作Toast,但無法看到我的祝酒詞。無法與廣播接收者敬酒,絕不打電話接收

我的Android清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.romain.assistantvocal" > 
<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 

    <receiver class="com.example.romain.SMSReceiver" android:name=".SMSReceiver"> 
     <intent-filter android:priority="100"> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 
    <activity 
     android:name=".MyActivity" 
     android:label="@string/app_name" > 


     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 


    </activity> 

    <receiver class="com.example.romain.SMSReceiver" android:name=".SMSReceiver"> 
     <intent-filter android:priority="100"> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 
</application> 

在這裏,我的課SMSReceiver:

package com.example.romain.assistantvocal; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.speech.tts.TextToSpeech; 
import android.telephony.gsm.SmsMessage; 
import android.widget.Toast; 

import java.util.Locale; 

/** 
* Created by romain on 26/09/2014. 
*/ 
public class SMSReceiver extends BroadcastReceiver 
{ 


    @Override 
    public void onReceive(Context context, Intent intent) 
    { 

     Toast.makeText(context,"gg romstan",Toast.LENGTH_LONG).show(); 

    } 

} 

預先感謝您爲您的回答。

+0

嘗試增加''100 to like 6565' – 2014-09-26 13:57:21

+1

remove'class =「com.example.romain.SMSReceiver」',不要聲明兩次 – njzk2 2014-09-26 14:41:16

回答

-1

如果烏爾意識到隨即下令廣播它說:「由於每個接收器依次執行,也可以由此傳播到下一個接收器,也可以完全放棄廣播,以便它不會傳遞給其他接收器。「 所以。如果任何廣播已經停止傳遞數據,你將不會收到消息。 嘗試把日誌放入你的接收器並檢查。無論你是否收到消息,因爲你的吐司消息是正確的。 根據android準則,U無法保持優先級超過1000。所以,給一些接近1000的東西或刪除優先級並檢查。

+0

我試圖刪除優先級,或者將它放在999或900,它不能工作。 – 2014-09-26 14:14:15

+0

onreceive方法被稱爲..means你保存在日誌中來驗證 – 2014-09-26 14:22:59

+0

在日誌中看不到任何東西:/ – 2014-09-26 14:31:48

0

嘗試使用此revicer:

<receiver android:name=".SmsReceiver" android:permission="android.permission.BROADCAST_SMS" android:exported="true"> 
    <intent-filter android:priority="6565" > 
     <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
    </intent-filter> 
</receiver> 
+0

它不會沒有工作我試着用999和6565,什麼都沒有發生 – 2014-09-26 14:02:53