0

我试图通过单击小部件的按钮打开浏览器。我用了一个BroadcastReceiveronReceiver()我想从哪里打开一个浏览器。

我收到如下错误:

Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
4

3 回答 3

1

如果你启动和活动形成一个像 a 这样的不可见组件BroadcaseReceiver,你需要使用FLAG_ACTIVITY_NEW_TASK标志。这就是错误所说的。这是一个可能的解决方案。

Intent intent = new Intent(<Your action here>);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

或者,您可以先显示通知。这只会在状态栏中显示一条消息,不会中断当前用户的活动(例如游戏)。稍后,当用户有时间时,他或她可以点击这个通知,然后浏览器将被打开。

于 2013-08-30T12:49:11.153 回答
0

希望这会有所帮助--->

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());
于 2013-08-30T14:21:26.337 回答
-2
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);

}
}
于 2013-08-30T12:47:17.407 回答