2012-04-09 83 views
2

我有一個實現警報的類。接收器類是一個廣播接收器,當鬧鐘響起時,我希望它能夠振動並播放默認的鬧鐘聲。但它不會讓我在廣播接收器類中使用getSystemService。如何在廣播接收器上設置振動和聲音

我猜這是因爲它不是一個活動,不能使用它,但我怎麼解決這個問題?我是否應該將接收類更改爲活動類或警報對話活動?你們都建議什麼?

乾杯

回答

2

您可以使用它。我在我的BroadcastReceiver中做。

AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 

您是否有錯誤信息?或者源代碼?

請知道廣播接收機最多隻能持續10秒。

2

getSystemService方法是Context類的一部分。在您的廣播接收器中,您將通過具有廣播意圖的Context實例。上下文將是活動上下文或應用程序上下文,具體取決於您的廣播接收器的註冊方式。

您應該能夠使用這個Context實例調用getSystemService像這樣:

public final void onReceive(Context context, Intent intent) { 
    AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 
} 
+0

謝謝你們 - 兩個答案都很好:d – Katana24 2012-04-09 21:11:29

+0

@twaddington你解決我的問題too.I沒有使用'上下文.getSystemService()'但只有'getSystemService()',所以它顯示錯誤。 – 2014-02-03 15:43:19