我尝试在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" />
答案 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
,可能是。