2013-06-21 104 views
0

我試圖訪問使用android urlconnection的網頁,我甚至在使用jsoup解析它時也成功了。但是,當我點擊列表視圖行,鏈接不會打開browser.this是我的代碼和.xml。請幫幫我。未找到android活動urlconnection

logcat 

06-21 14:40:07.428: E/AndroidRuntime(10510): FATAL EXCEPTION: main 
06-21 14:40:07.428: E/AndroidRuntime(10510): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=Full story: Daily Mail  } 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1622) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.Activity.startActivityForResult(Activity.java:3370) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.Activity.startActivityForResult(Activity.java:3331) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.Activity.startActivity(Activity.java:3566) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.Activity.startActivity(Activity.java:3534) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at com.omeja.bbcsport.BBCActivity.onListItemClick(BBCActivity.java:234) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.ListActivity$2.onItemClick(ListActivity.java:319) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.widget.AdapterView.performItemClick(AdapterView.java:298) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.widget.AbsListView.performItemClick(AbsListView.java:1100) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2749) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.widget.AbsListView$1.run(AbsListView.java:3423) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.os.Handler.handleCallback(Handler.java:725) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.os.Handler.dispatchMessage(Handler.java:92) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.os.Looper.loop(Looper.java:137) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at java.lang.reflect.Method.invokeNative(Native Method) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at java.lang.reflect.Method.invoke(Method.java:511) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-21 14:40:07.428: E/AndroidRuntime(10510): at dalvik.system.NativeStart.main(Native Method) 

代碼

protected void onPostExecute(String result) { 
      // TODO Auto-generated method stub 

      super.onPostExecute(result); 
      // 
      // 
      Document doc; 
      try { 
       // doc = Jsoup.connect(url1).get(); 
       // String title = doc.title(); 
       // Elements links = doc.getElementsByClass("external-link"); 
       doc = Jsoup.parse(result, url1); 
       Elements links = doc.select("h2 ~ p"); 
       // Elements links = doc.select("h2.cross-head"); 
       // Elements links = doc.select("a.external-link"); 
       // Elements media = doc.select("[src]"); 
       // Elements imports = doc.select("link[href]"); 
       // 
       // 
       for (Element link : links) { 

        Elements tableDatas = link.getElementsByTag("p"); 
        //Elements tableDatas2 = link.getElementsByTag("a"); 
        if (tableDatas.hasText()) { 
         String rowData = tableDatas.text(); 
         // rowData2 = tableDatas2.text(); 
         //if (!tableRowStrings.contains(rowData)) { 
          tableRowStrings.add(rowData); 

         //} 

        } 
        // 

       } 
       // 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(
         BBCActivity.this, android.R.layout.simple_list_item_1, 
         tableRowStrings); 
       setListAdapter(adapter); 
       // 

      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

     } 
     // 

    } 

    // 
    @Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     // Do something when a list item is clicked 

     // String item = (String) getListAdapter().getItem(position); 
      Uri uri = Uri.parse((String) tableRowStrings.get(position)); 
      // Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 
     // 
     Intent intent = new Intent(Intent.ACTION_VIEW,uri); 
     startActivity(intent); 
    } 

清單

<uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <uses-feature /> 

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.omeja.bbcsport.BBCActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

回答

0

你應該叫你的意圖,因爲它遵循:

Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(uri); // If you have the url, i.setData(Uri.parse(url)); 
startActivity(i); 

讓我知道你的進步。

+0

感謝的文檔,但我有一個第二個查詢 –

0

通話這樣的,該地址必須以"http://啓動「或"https://"所以我用code.In這個文檔片斷某些情況下,URL可能與"www".開始在這種情況下,你會得到一個異常的活動:

String url = "http://www.example.com"; 
    Intent i = new Intent(Intent.ACTION_VIEW); 
    i.setData(Uri.parse(url)); 
    startActivity(i); 

你可以看到Intent.ACTION_VIEW

+0

多虧了它看着你的代碼之後,我們面臨的挑戰是什麼,我展示給用戶的不是實際的URL,但其文本。所以我不得不使用arraylist去st單獨鏈接並單擊激活它。我現在面臨的第二個挑戰是隻有在列表視圖行是鏈接時纔會激活點擊,並且不允許所有行都是可點擊的。任何想法???? part1的解決了 –

+0

我用2周的ArrayLists如下面在(元素鏈接:鏈接){ \t \t \t \t \t元素tableDatas = link.getElementsByTag( 「P」); \t \t \t \t \t元素tableDatas2 = link.getElementsByTag(「a」); \t \t \t \t \t如果(tableDatas.hasText()){ \t \t \t \t \t \t字符串rowData = tableDatas.text(); \t \t \t \t \t \t String lnk = tableDatas2.attr(「href」); \t \t \t \t // \t \t String tot = rowData +「\ n」+ lnk; \t \t \t \t \t \t // rowData2 = tableDatas2.text(); \t \t \t \t \t \t //如果(!tableRowStrings.contains(rowData)){ \t \t \t \t \t \t \t tableRowStrings.add(rowData); \t \t \t \t \t \t \t tableRowStrings2。添加(油); \t \t \t \t \t \t //} \t \t \t \t \t} –

+0

傢伙對code.how抱歉,我該貼在這裏評論的代碼? –