2014-02-26 60 views
2

我試着下面的代碼開始在android下載一個mp3文件,這是正確的,直到今天早上,現在它拋出這個exector android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat= http://snd.tebyan.net/1388/03/Baz Amadam55055.mp3 }無論是在模擬器和真正的設備,我沒有改變代碼, 發生了什麼?哪裏不對?Android - 未發現任何活動處理意圖

String url = " http://snd.tebyan.net/1388/03/Baz Amadam55055.mp3"; 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

回答

3

嘗試在你的字符串刪除http前的空格:

String url = "http://snd.tebyan.net/1388/03/Baz Amadam55055.mp3"; 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 
1
String url = " http://snd.tebyan.net/1388/03/Baz Amadam55055.mp3"; 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

這裏,我們使用兩個不同的名稱:URI =網址 ...

而且正如Hariharan所說,uri中有一個額外的空間(這裏稱爲「url」)定義。

3

由於哈里哈蘭和Artoo指出,也有一段代碼

幾個錯誤有字符串url的空間。將其更改爲 String url = "http://snd.tebyan.net/1388/03/Baz Amadam55055.mp3";

此外,您不能通過String開始一個意圖。將其轉換爲Uri對象,然後將其傳遞給構造函數Intent。這可能是您意外刪除的行。將行Uri uri = Uri.parse(url)添加到您的代碼中。最終的解決方案是這樣的:

String url = "http://snd.tebyan.net/1388/03/Baz Amadam55055.mp3"; 
Uri uri = Uri.parse(url); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

最後一點是,特定的Url需要您的模擬器/設備包含SD卡。瀏覽仿真器的詳細信息,並檢查SD卡是否打勾並且具有合理的MB大小。

相關問題