在不停止当前活动的情况下启动Intent.ActionView

时间:2014-10-16 10:44:10

标签: c# android android-intent android-activity xamarin

我正在编写一个Xamarin Android应用程序,并对启动Activity有疑问。

如何在不停止当前Activity的情况下启动Activity

这是我的代码:

Intent intent = new Android.Content.Intent(Intent.ActionView, Android.Net.Uri.Parse(androidMapLocationVideoViewModel.videoAsset.webAddress));
StartActivity(intent);

我正在使用此代码启动默认应用程序以在网址上加载视频。

目前,关联的应用程序会启动视频,但是,我的应用程序会退出。

我在清单中添加了以下内容:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

我希望能够启动默认应用程序以在所需的URL上查看视频,但是让用户通过按后退按钮返回我自己的应用程序。

我该如何编码呢?我做了一些研究,但找不到这个问题的答案。

提前致谢

1 个答案:

答案 0 :(得分:0)

与此答案类似Handle Activity Finishing Event In Xamarin.Android

您希望将StartActivityForResult用于以下列方式启动视频的活动

Intent intent = new Android.Content.Intent(Intent.ActionView, Android.Net.Uri.Parse(androidMapLocationVideoViewModel.videoAsset.webAddress));
StartActivityForResult (myIntent, 0);

上面代码中的int 0是一个标识调用的整数参数(然后你可以在OnActivityResult回调中使用它。你的活动也应该覆盖OnActivityResult,等待必要时响应播放器的响应。

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
  base.OnActivityResult(requestCode, resultCode, data);
  if (requestCode == myIntCode) {
     // Do whatever needs to be done if anything
  }
}

这在Xamarin's Android documentation

中都有很好的记录