我在我的应用程序中使用谷歌地图,当用户点击地图上一些有趣的点时,需要打开YouTube应用程序。
以下是我的onTap()
方法和新的videoPlayer活动。当我运行它时,它会产生一个力关闭错误。我在这里做错了什么?
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
Intent intent=new Intent(mContext,VideoPlayer.class);
mContext.startActivity(intent);
return true;
}
VideoPlayer活动:
public class VideoPlayer extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
String vid= Uri.parse("").getQueryParameter("v");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + vid));
try {
startActivity(intent);
}
catch (ActivityNotFoundException ex) {
System.out.print("Couldn't find activity to view this video");
}
}
}
以下是catlog中的错误:
02-12 14:37:31.712:ERROR / AndroidRuntime(5782):android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗?
mContext.startActivity(intent);
执行时会触发。
编辑1
好的,我改变了我的代码如下:
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
Intent intent=new Intent(mContext,VideoPlayer.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // changed
mContext.startActivity(intent);
return true;
}
现在加载了youtube应用,但仍然会发生错误。