Hello, when I create the method, the error "ContextCompat does not exist in the current context" and a "PackageManager does not contain PERMISSION_GRANTED definition" .. know if I should add any special directive. Thanks
METHOD
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();
}
}
COMPLETE CODE
private void MBtnEnviar_Click(object sender, EventArgs e)
{
if (mTxtInstitucion.Text.Equals("")|| mTxtCiudad.Text.Equals(""))
{
Toast.MakeText(Activity, "has dejado Institución o Ciudad vacia", ToastLength.Short).Show();
}
else
{
try
{
//Configurando el cliente SMTP
SmtpClient client = new SmtpClient()
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("[email protected]", "jwspvnzutniimmmmm")
};
//Preparando archivo adjunto
var filePath = System.IO.Path.Combine(uris, "");
var File = new Java.IO.File(filePath);
var path = Uri.FromFile(File);
//Enviando correo
MailMessage mail = new MailMessage()
{
From = new MailAddress("[email protected]")
};
mail.To.Add(new MailAddress("[email protected]"));
mail.Subject = "Solicitud Autorizacion Medica " + mTxtNombre + " " + mTxtApellido + "" + mTxtCedula;
mail.IsBodyHtml = true;
mail.Body = "Hola Solicito por favor autorizar procedimiento, adjunto anexo solicitud Medica especificaciones el nombre de la Institución es " + mTxtInstitucion.Text +
" , ciudad " + mTxtCiudad.Text + " ,Nombre de usuario " + mTxtNombre + " " + mTxtApellido + " y Cedula " + mTxtCedula +
" " + "Gracias por su atención"
;
mail.Attachments.Add(new Attachment(File.Path));
client.Send(mail);
textView.FindViewById<TextView>(Resource.Id.txtNota).Text = MSJTEnvioExitoso;
Enviar.Visibility = ViewStates.Invisible;
imageView.Visibility = ViewStates.Invisible;
textView.FindViewById<TextView>(Resource.Id.txtAutoCiudad).Text = "";
textView.FindViewById<TextView>(Resource.Id.txtAutoInstitucion).Text = "";
CheckSMSStatePermission();
SmsManager.Default.SendTextMessage("57301111111", null,
"Hello from Xamarin.Android", null, null);
var smsUri = Android.Net.Uri.Parse("smsto:57301111111");
var smsIntent = new Intent(Intent.ActionSendto, smsUri);
smsIntent.PutExtra("sms_body", "Hello from Xamarin.Android");
StartActivity(smsIntent);
}
catch (Exception ex)
{
Toast.MakeText(Activity, "Mensaje Fallido"+ex, ToastLength.Short).Show();
}
}
}
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();
}
}