在Xamarin表单android项目中使用依赖项服务共享应用功能实现

时间:2019-02-08 06:50:17

标签: c# android xamarin xamarin.forms xamarin.android

我正在Xamarin表单项目中实现Share the App功能。是的,有可用的库,但是库与Xamarin Forms软件包版本冲突,我已经完成了所有工作,并且不希望出现任何问题,我想通过在Android中进行平台特定的编码来使用依赖项服务来实现和没有任何软件包的iOS。

在这里,我通过创建自定义渲染器来从Android项目中共享应用程序。但是我遇到了错误。

public class ShareTheAppRenderer : IShareTheApp
{
    public void ShareApp()
    {
        var mainActivity = new MainActivity();
        Intent sendIntent = new Intent();
        sendIntent.SetAction(Intent.ActionSend);
        sendIntent.PutExtra(Intent.ExtraText, "Check out our app at: https://play.google.com/store/apps/details?id=");
        sendIntent.SetType("text/plain");
        mainActivity.StartActivity(sendIntent);
    }
}

Please see attached screenshot.

请提供一些解决此问题的建议。

1 个答案:

答案 0 :(得分:0)

谢谢您的答复。但是我为此找到了解决方案。在这里,我不想使用任何其他库来实现这一目标。

我的工作解决方案如下:

public class ShareTheAppRenderer : IShareTheApp
{
    public void ShareApp()
    {
        var appPackageName = Forms.Context.PackageName;
        var myIntent = new Intent(Android.Content.Intent.ActionSend);
        myIntent.SetType("text/plain");
        myIntent.PutExtra(Intent.ExtraText, "Check out our app at: https://play.google.com/store/apps/details?id=" + appPackageName);
        Forms.Context.StartActivity(Intent.CreateChooser(myIntent, "Choose an App"));
    }
}

此解决方案对我有用。