2013-04-11 171 views
0

http://developer.android.com/reference/android/provider/VoicemailContract.html如何接收brocast和語音郵件

我不知道如何使語音信箱brocast接收器。當您收到語音郵件時,您會在通知中看到「NEW VOICEMAIL」,該圖標就像磁帶一樣。

這裏是我的代碼:

AndroidManifest.xml中

<receiver android:name=".VoiceBrocast" > 
     <intent-filter> 
      <action android:name="android.intent.action.NEW_VOICEMAIL" /> 
     </intent-filter> 
</receiver> 

<uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" /> 

我試圖在xx.java註冊,但它沒有工作。

MainActivity.java:

protected VoiceBrocast mUiBroadcastReceiver; 

     mUiBroadcastReceiver = new VoiceBrocast(); 
    IntentFilter mIntentFilter = new IntentFilter(); 
    mIntentFilter.addAction("android.intent.action.ACTION_NEW_VOICEMAIL"); 

MainActivity.this.registerReceiver(mUiBroadcastReceiver, mIntentFilter); 

VoiceBrocast.Java

公共類VoiceBrocast擴展廣播接收器{

@Override 
public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 
     System.out.println("voicemail"); 
    } 

}

當我收到的語音郵件,沒有打印,我無法在LogCat中看到「語音信箱」。

+0

如何確保您收到語音信箱廣播?從您的代碼,它只是一個非常簡單的廣播註冊,沒有理由不起作用。請檢查您發送廣播的位置 – stephen 2013-04-11 07:57:35

+0

我會使用Log.d而不是System.out – njzk2 2013-04-11 09:52:22

+0

我在官方網站下載了演示。並且演示可以發送語音郵件給自己,當我向自己發送語音郵件後,我可以在手機中找到語音郵件。也許演示沒有發送廣播,所以我想問如何接收語音信箱廣播併發送廣播。 – user2269125 2013-04-12 11:17:51

回答

0

不確定還有其他問題,但一個問題是:意圖操作不稱爲"android.intent.action.ACTION_NEW_VOICEMAIL",而是"android.intent.action.NEW_VOICEMAIL"

也許你把它與VoicemailContract類中的常量名混合起來,它是VoicemailContract.ACTION_NEW_VOICEMAIL

+0

謝謝你的回答。你知道嗎?如何獲取語音郵件信息? – user2269125 2013-04-26 09:33:46

+0

有人向我發送語音郵件,我想要取得這個人的號碼和內容,我該怎麼辦? thx – user2269125 2013-04-26 09:37:19

+0

我試圖修復intent action,android.intent.action.NEW_VOICEMAIL ~~但是BroadcastReceiver不起作用。我發現了許多關於如何廣播VOICEMAIL的信息,但沒有任何信息可以幫助。 – user2269125 2013-04-26 09:45:52

0

訪問此內容提供商所需的最低權限是ADD_VOICEMAIL

你有這樣的權限?

+0

com.android.voicemail.permission.ADD_VOICEMAIL – user2269125 2013-04-11 08:35:25

+0

yes ~~我已經在AndroidManifest 中寫了權限 – user2269125 2013-04-11 09:12:14