Ale*_*lew 2 xamarin.android xamarin xamarin.forms
我知道我可以从本机Android活动启动Xamarin表单页面,但是我如何从Xamarin Forms ContentPage启动本机Android活动。我尝试了DependencyService,但没有成功。
我想到了。
首先,我需要在Xamarin Project中创建这样的接口
public interface IRecordVideoPage
{
void StartNativeIntentOrActivity();
}
Run Code Online (Sandbox Code Playgroud)
然后我使用依赖服务从Xamarin表单内容页面启动了本机Android活动,如下所示:
DependencyService.Register<IRecordVideoPage>();
DependencyService.Get<IRecordVideoPage>().StartNativeIntentOrActivity();
Run Code Online (Sandbox Code Playgroud)
接下来,我在Android项目中创建了一个RecordActivity类,用于加载测试活动
[assembly: Xamarin.Forms.Dependency(typeof(RecordActivity))]
namespace StreamTest.Droid
{
[Activity(Label = "RecordActivity")]
public class RecordActivity : IRecordVideoPage
{
public void StartNativeIntentOrActivity()
{
var intent = new Intent(Forms.Context, typeof(Test));
Forms.Context.StartActivity(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
最后,我在Test类中设置了内容视图:
public class Test : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
public Test() { }
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Record);
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3686 次 |
最近记录: |