如何开始新活动?

时间:2012-02-12 07:55:01

标签: android android-intent android-activity android-context

我在我的应用程序中使用谷歌地图,当用户点击地图上一些有趣的点时,需要打开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应用,但仍然会发生错误。

0 个答案:

没有答案