在Android中打开浏览器

时间:2013-04-16 08:07:15

标签: android

我尝试在JavaScriptInterface中的浏览器中打开链接,但似乎它不起作用。以下代码有什么问题:

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;

public class JavaScriptInterface extends Activity{

    Context mContext;
    JavaScriptInterface(Context c) {
        mContext = c;
    }

    public void openLink(){

        Uri uri = Uri.parse("http://www.google.com");
        startActivity(new Intent(Intent.ACTION_VIEW, uri));

    }

}

我已获得所需的许可:

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

1 个答案:

答案 0 :(得分:1)

我不知道你为什么延长Activity。虽然您在构造函数中初始化mContext,但它永远不会用于startActivity()

您可能希望编码如下:

public class JavaScriptInterface {
    Context mContext;

    JavaScriptInterface(Context c) {
        mContext = c;
    }

    public void openLink(){
        Uri uri = Uri.parse("http://www.google.com");
        mContext.startActivity(new Intent(Intent.ACTION_VIEW, uri));
    }
}

(不扩展活动,并在startActivity()中调用mContext

顺便说一下,您不需要权限android.permission.INTERNET来调用此意图。您需要WebView,可能是。