我试图通过单击小部件的按钮打开浏览器。我用了一个BroadcastReceiver
,onReceiver()
我想从哪里打开一个浏览器。
我收到如下错误:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我试图通过单击小部件的按钮打开浏览器。我用了一个BroadcastReceiver
,onReceiver()
我想从哪里打开一个浏览器。
我收到如下错误:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
如果你启动和活动形成一个像 a 这样的不可见组件BroadcaseReceiver
,你需要使用FLAG_ACTIVITY_NEW_TASK
标志。这就是错误所说的。这是一个可能的解决方案。
Intent intent = new Intent(<Your action here>);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
或者,您可以先显示通知。这只会在状态栏中显示一条消息,不会中断当前用户的活动(例如游戏)。稍后,当用户有时间时,他或她可以点击这个通知,然后浏览器将被打开。
希望这会有所帮助--->
Button1 = (Button) findViewById(R.id.b1);
String text ="Visit <a href=\"http://manning.com/\">Manning home page</a>";
Button1.setText(Html.fromHtml(text));
Button1.setMovementMethod(LinkMovementMethod.getInstance());
button = (Button)findViewById(R.id.xxxx);
button.setOnClickListener(View.OnClickListener){
public void onClick(){
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
}