C# 我有这个错误;当前上下文中不存在ContextCompat“;及;PackageManager不包含“授予的定义”权限;

C# 我有这个错误;当前上下文中不存在ContextCompat“;及;PackageManager不包含“授予的定义”权限;,c#,android,xamarin,runtime-permissions,C#,Android,Xamarin,Runtime Permissions,当我创建方法输出错误“ContextCompat在当前上下文中不存在”和“PackageManager不包含授予的定义权限”时。。知道我是否应该添加任何特殊指令。多谢各位 方法 private void CheckSMSStatePermission() { int PermissionCheck = ContextCompat.CheckSelfPermission(this, Manifest.Permission.SendSms); if (PermissionCheck != Pack

当我创建方法输出错误“ContextCompat在当前上下文中不存在”和“PackageManager不包含授予的定义权限”时。。知道我是否应该添加任何特殊指令。多谢各位

方法

private void CheckSMSStatePermission()
{

int PermissionCheck = ContextCompat.CheckSelfPermission(this, Manifest.Permission.SendSms);
if (PermissionCheck != PackageManager.PERMISSION_GRANTED)
{
    Toast.MakeText(Activity,  "No se tiene permiso para enviar SMS.", ToastLength.Short).Show();
    ActivityCompat.requestPermissions(this, new String[] { Manifest.Permission.SendSms }, 1);
}
else
{
    Toast.MakeText(Activity, "Se tiene permiso para enviar SMS!", ToastLength.Short).Show();
}
}
错误1

   Severity Code Description Project Project category Path File Line Column 
   Category Source Status deleted Tool
   Error CS1503 Argument 1: can not be converted from                      
 'LoginSystem.Authorization' to 'Android.Content.Context' LoginSystem 1 C: \ 
  Users \ Lenovo \ documents \ visual studio 2017 \ Projects \ LoginSystem \ 
   Documents \ visual studio 2017 \ Projects \ LoginSystem \ LoginSystem \ 
   Authorization.cs 229 70 Active Compiler IntelliSense Compiler
错误2

   Severity Code Description Project Project category Path File Line Column 
   Category Source Status deleted Tool
   CS0117   'PackageManager' no contiene una definición para 
 'PERMISSION_GRANTED'   LoginSystem 1   C:\Users\Lenovo\documents\visual 
  studio 2017\Projects\LoginSystem\LoginSystem  
  C:\Users\Lenovo\documents\visual studio 
  2017\Projects\LoginSystem\LoginSystem\Autorizacion.cs 230 51  Compiler    
  IntelliSense  Activo  Compilador
改变这个

int PermissionCheck = ContextCompat.CheckSelfPermission(this, Manifest.Permission.SendSms);
对此

int PermissionCheck = ContextCompat.CheckSelfPermission(this, Manifest.permission.SEND_SMS;);
或者试试这个

 String permission = android.Manifest.permission.SEND_SMS;
 if (ActivityCompat.checkSelfPermission(SearchCityClass.this, permission)
     != PackageManager.PERMISSION_GRANTED){
      ActivityCompat.requestPermissions(SearchCityClass.this, new String[]
                    {permission}, 1);

 }
在清单文件中添加此权限

<uses-permission android:name="android.permission.SEND_SMS"/>

更改此选项

int PermissionCheck = ContextCompat.CheckSelfPermission(this, Manifest.Permission.SendSms);
对此

int PermissionCheck = ContextCompat.CheckSelfPermission(this, Manifest.permission.SEND_SMS;);
或者试试这个

 String permission = android.Manifest.permission.SEND_SMS;
 if (ActivityCompat.checkSelfPermission(SearchCityClass.this, permission)
     != PackageManager.PERMISSION_GRANTED){
      ActivityCompat.requestPermissions(SearchCityClass.this, new String[]
                    {permission}, 1);

 }
在清单文件中添加此权限

<uses-permission android:name="android.permission.SEND_SMS"/>

如果您试图使用
ContextCompat.XXXX
您的活动子类需要来自
AppCompatActivity
(而不是
活动
…)

AppCompatActivity
在nuget软件包中提供:
Xamarin.Android.Support.v4

<package id="Xamarin.Android.Support.v4" version="25.4.0.2" targetFramework="monoandroid71" />


如果您试图使用
ContextCompat.XXXX
您的活动子类需要来自
AppCompatActivity
(而不是
活动
),请添加该包并将您的
活动更改为
AppCompatActivity

AppCompatActivity
在nuget软件包中提供:
Xamarin.Android.Support.v4

<package id="Xamarin.Android.Support.v4" version="25.4.0.2" targetFramework="monoandroid71" />


添加该包并将您的
活动更改为
AppCompatActivity

发布完整错误发布完整错误将此添加到清单文件嗨,我已经完成了您通知我的所有操作,但在实际操作中,此消息无法从“LoginSystem.Authorization”转换为“Android.Content.Contex”codigo String permission=Android.Manifest.permission.SendSms;如果(ContextCompat.CheckSelfPermission(this,Manifest.Permission.SendSms)!=Permission.grated){Android.Support.V4.App.ActivityCompat.RequestPermissions(this,新字符串[]{Permission},1);}是的,将此添加到清单文件hi,我已经完成了您通知我的所有操作,但在实际操作中,此消息无法从“LoginSystem.Authorization”转换为“Android.Content.Contex”codigo String permission=Android.Manifest.permission.SendSms;if(ContextCompat.CheckSelfPermission(this,Manifest.Permission.SendSms)!=Permission.grated){Android.Support.V4.App.ActivityCompat.RequestPermissions(this,新字符串[]{Permission},1);}