2012-05-26 33 views
0

我想創建一個Android應用程序接收來自特定發件人的郵件時播放錄製的聲音片段,所以我把這個代碼在我smsReceiver(廣播接收器)如何在收到新消息時播放媒體文件?

NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);

 Notification notification = new Notification();   
    notification.sound = Uri.parse("android.resource://com.example.newgps/raw/calmpiano"); 

nm.notify(0, notification); 

但發揮聲音的一部分。我能做些什麼來解決它。

+0

這可以是一個deviçe自己的設置 – Lucifer

+0

是的,我想是的,但我解決了它使用'MediaPlayer'和一個線程。感謝您的評論..! – Randi

回答

0

您不需要將\raw附加到資源URI。在運行時,所有內容都被編譯到帶有ID的單個目錄中,這意味着調用R.raw.*引用了原始資源,即使所有資源都在同一個目錄中。

notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.calmpiano); 

而且你還可以指定使用notification.default一些額外的設置,但不使用DEFAULT_SOUND。如果定義了默認聲音,它將覆蓋自定義聲音。

相關問題