2012-12-22 67 views
1

我嘗試使用下面的代碼來打開Web瀏覽器的URL打開網址,不能在瀏覽器

不起作用

Bundle ex=in.getExtras(); 
link=ex.getString("link"); 
public void onClick(View arg0) { 
    Intent t=new Intent(Intent.ACTION_VIEW); 
    Uri u=Uri.parse(link); 
    t.setData(u); 
    startActivity(t); 
} 

但我havinng怪異問題。當我使用確切的網址而不是字符串「鏈接」時,一切正常,但是當我使用我創建的字符串鏈接時,我得到了「找不到處理意圖的活動」異常。但是我確定鏈接包含正確的網址,與我之前使用的網址相同。

這個作品

public void onClick(View arg0) { 
    Intent t=new Intent(Intent.ACTION_VIEW); 
    Uri u=Uri.parse("http://google.com"); 
    t.setData(u); 
    startActivity(t); 
} 

我敢肯定的是,在第一種情況下鏈接包含的URL(http://google.com),而且我印上一個TextView檢查!

+0

你可以發佈兩個例子嗎? –

+1

你可以發佈你如何聲明和初始化參數「鏈接」?當你打印logcat的「鏈接」時,它說什麼? –

回答

0

好了,問題是由在的空白造成的「link'.I使用link.trim(),它工作正常。謝謝你們的幫助。

0

這是因爲Intent.ACTION_VIEW的行爲有所不同,具體取決於您通過setData傳遞的數據。 所以如果你傳遞一個Uri/URL,它會打開瀏覽器,但是如果你傳遞一個字符串(沒關係,字符串實際上包含一個url),它不知道該如何處理它。

如果你需要創建一個代碼的鏈接,你可以使用Uri.withAppendedPath

+0

但即使在第一種情況下,我傳遞給setData一個URI,而不是一個字符串 – tasgr86

+0

你確定鏈接以「http://」開頭嗎? – alex

+0

yep.And所以我會讓它變得更糟我正在顯示包含在鏈接中的鏈接到一個textview,它的顯示正確,而且當我點擊它,它正確地打開它的瀏覽器。但它不工作的按鈕,我使用的代碼我發佈相同的總是'鏈接'! – tasgr86

相關問題