停止的意圖我有一個Intent
時啓動的MusicService
它連接到互聯網和播放流:啓動的服務
final Intent i = new Intent(MusicService.ACTION_URL);
Uri uri = Uri.parse("http://31.3.242.244:8058");
i.setData(uri);
startService(i);
progressDialog = ProgressDialog.show(fmActivity.this, "", "connecting...");
progressDialog.setCancelable(true);
當連接建立我有一個Handler
關閉對話框:
static Handler closeHandler = new Handler() {
public void handleMessage(Message msg) {
if (progressDialog !=null) {
progressDialog.dismiss();
}
}
};
fmActivity.closeHandler.handleMessage(null); //from the MusicService
這一切都很好,除非連接掛起或服務器連接速度很慢。我需要能夠取消Intent
嘗試用後退按鈕啓動MusicService
。檢查互聯網連接將無濟於事,因爲始終存在連接...用戶需要能夠取消連接的呼叫,因爲如果連接到服務器的連接由於某種原因而失敗,則會阻止用戶加載不同的流。我已經搜遍了,無法找到如何做到這一點。謝謝。
如果有一個不好的連接,爲什麼沒有你的應用只停留於那個特定的流音樂服務?它似乎不適合掛在那裏,並讓用戶決定是否連接不好。一旦意圖開始,它就開始了。但是,您可以停止服務。 –
在請求/連接完成後,您可以處理套接字異常..這可以簡化取消操作 – Chet
「如果連接不好,爲什麼您的應用程序不會停止該特定流的音樂服務?」是的,這將與用戶取消它相同,但這是我不知道如何進行... –