繁体   English   中英

我如何在xamarin.forms应用程序中使用permissionplugin和zxing nuget pkg?

[英]How i can use permissionplugin with zxing nuget pkg in xamarin.forms app?

“jamesmontemagno” 中的permissionplugin pkg中提到的 OnRequestPermissionsResult

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
        {
            PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }

在Zxing pkg中提到OnRequestPermissionsResult

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
            {

                global::ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);

            }

我试图使用以下代码实现它。

[Activity(Label = "BarcodeScanning", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, ScreenOrientation = ScreenOrientation.Portrait | ScreenOrientation.Landscape)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, savedInstanceState);

            ZXing.Net.Mobile.Forms.Android.Platform.Init();

            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());
        }


        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
        {
            global::ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
            PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        }       
    }

我想使用两个Nuget包并显示用户显示位置权限的弹出窗口。 请提供宝贵的建议。

请求权限是操作系统要求,与ZXing或任何库无关。

现在,如果您查看PermissionsPlugin的 Github,您将在那里找到所有答案

当前活动插件是此包正常工作的必备条件,也始终将所需权限添加到iOS的info.plist中。

然后你要求许可这样的事情:

var status = await CrossPermissions.Current.CheckPermissionStatusAsync<LocationPermission>();

您可以检查可用的API是在这里和一个简单的例子可以发现在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM