虽然我已获得许可,但无法连接到互联网

时间:2012-06-20 16:52:20

标签: android permissions webview

我正在尝试制作浏览器应用,但问题是它无法连接到互联网

这是一个多标签,所以这些是代码:

主要活动:

public class TabTestActivity extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TabHost host=getTabHost();
        host.addTab(host.newTabSpec("two")
                .setIndicator("facebook")
                .setContent(new Intent(this,facebrowser.class)));
        host.addTab(host.newTabSpec("one")
                .setIndicator("Google")
                .setContent(new Intent(this,googlebrowser.class)));

    }
}

tab1活动:

public class facebrowser extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        WebView browse = new WebView(this);
        setContentView(browse);
        browse.loadUrl("http:\\www.facebook.com");
    }
}

tab2活动:

public class googlebrowser extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        WebView browse = new WebView(this);
        setContentView(browse);
        browse.loadUrl("http:\\www.google.com");
    }
}

xml layout:

<?xml version="1.0" encoding="utf-8"?>
<TabHost
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
    </LinearLayout>
</TabHost>

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.x.TabBrowse"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".TabTestActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        </activity>
        <activity android:name="facebrowser" android:label="name"></activity>
    </application>
</manifest>

页面告诉我:

  

网页不可用

     

http:/www.facebook.com上的网页可能暂时关闭,或者可能已永久移至新的网址。

     

以下是一些建议:

     
      
  • 检查以确保您的设备有信号和数据连接。
  •   
  • 稍后重新加载此网页。
  •   
     

从Google

查看网页的缓存副本

2 个答案:

答案 0 :(得分:1)

而不是browse.loadUrl(“http:\\ www.facebook.com”); 使用 browse.loadUrl( “http://www.facebook.com”);

应该有效

对于您的第二个问题:您需要制作一个webviewclient

public class googlebrowser extends Activity{

    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    }


    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        WebView browse = new WebView(this);
        setContentView(browse);

        browse.setWebViewClient(new HelloWebViewClient());

        browse.loadUrl("http://www.google.com");
    }
}

答案 1 :(得分:0)

您是否正在使用模拟器进行测试?它可能没有互联网连接。这是一个常见的问题。请参阅此处的其他Stackoverflow帖子(http://stackoverflow.com/questions/2039964/how-to-connect-android-emulator-to-the-internet),这可能有助于您排除故障。