我正在建立一個音樂播放器,我需要添加一個seekbar的歌曲。我在網上查了一下,但大部分結果都是針對一個媒體播放器,而不是一項服務。我是使用媒體播放器的新手,因此任何詳細的結果都將不勝感激。更新從服務seekbar
回答
您可以使用廣播接收器將數據從服務發送到活動。
在服務中添加以下方法,並在需要更新時調用此方法SeekBar
。
public static void publishResult(Context context, int percentage){
Intent intent = new Intent("Broadcast");
intent.putExtra("INTENT_TYPE", "SEEKBAR_RESULT");
intent.putExtra("PERCENTAGE", 10);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
在活動中添加以下代碼接收廣播消息。
@Override
public void onResume() {
super.onResume();
//Register Broadcast receiver
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(mBroadcastReceiver, new IntentFilter("Broadcast"));
}
@Override
public void onPause() {
super.onPause();
//Unregister Broadcast receiver
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mBroadcastReceiver);
}
private BroadcastReceiver mBroadcastReceiver= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String intentType = intent.getStringExtra("INTENT_TYPE");
if(intentType.equalsIgnoreCase("SEEKBAR_RESULT")){
int percentage = intent.getIntExtra("PERCENTAGE");
}
}
};
有關LocalBroadcastManager詳細參見:http://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html
當活動不在前臺時怎麼辦?當它恢復活動時,seekbar會如何更新到正確的位置? –
@AlexKombo這是一個有效的問題。您可以將結果存儲在Application Global變量中,或者在Shared-preference中和Resume方法中,您可以更新seekbar。對於前臺活動,您可以使用廣播接收器更新Seekbar。 –
我得到它的工作。非常感謝!! –
- 1. android使用服務來更新seekbar
- 2. Android更新MediaPlayer SeekBar從服務類別的位置
- 3. 從seekbar更新textview非常慢
- 4. 從服務更新android
- 5. 更新UI從服務
- 6. IllegalStateException listview從服務更新
- 7. 從服務更新UI MapView
- 8. 更新從服務器
- 9. EditText更新SeekBar崩潰
- 10. 在ListView中更新SeekBar
- 11. 使用EditText更新SeekBar
- 12. SeekBar沒有更新Android
- 13. SeekBar更新不起作用
- 14. 刷新Listview從服務器更新
- 15. 服務更新()
- 16. 在更改Edittext後更新Seekbar
- 17. Android Seekbar停止更新方向更改
- 18. 更新Windows服務
- 19. WCF更新服務
- 20. 從Windows服務更新ASP.Net成員
- 21. 從遠程服務器更新UITableView
- 22. 從Android服務更新和訪問sqlite
- 23. 更新NG-模型從轉角服務
- 24. Angular2更新模板從服務
- 25. 從服務器更新Strings.xml - Android SDK
- 26. PHP Composer - 從遠程服務器更新?
- 27. 從服務器更新aspx頁面
- 28. 更新Joomla網站從DEVELOPPEMENT服務器
- 29. 從服務更新角度模型
- 30. JqGrid從服務器更新數據
你熟悉 「綁定服務」?這是一個很好的例子,當你可以使用「綁定本地服務」模式 – pskink
我一直在閱讀並嘗試一些實現,但我還沒有得到它的工作。 –
你嘗試過「綁定本地服務」模式嗎? – pskink