Я изучаю некоторые вещи для курса и эмулирую Android 8.1 API 27, но столкнулся с каким-то странным поведением.
Это простое приложение, которое просто позволяет пользователю отправитьОтправьте SMS-сообщение или отобразите его на экране в другом действии.
using System;
using Android.App;
using Android.OS;
using Android.Support.V7.App;
using Android.Runtime;
using Android.Widget;
using Android.Content;
using AlertDialog = Android.App.AlertDialog;
namespace EmailSender
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
var sendText = FindViewById<Button>(Resource.Id.sendSMSbutton);
var displayMessage = FindViewById<Button>(Resource.Id.displayMessageButton);
var recipient = FindViewById<EditText>(Resource.Id.email);
var message = FindViewById<EditText>(Resource.Id.message);
sendText.Click += (sender, args) =>
{
string url = string.Format("smsto:{0}", recipient.Text);
var uri = Android.Net.Uri.Parse(url);
var intent = new Intent(Intent.ActionSendto, uri);
intent.PutExtra("sms_body", message.Text);
StartActivity(intent);
};
displayMessage.Click += (sender, args) =>
{
var intent = new Intent(this, typeof(MessageDisplayActivity));
intent.PutExtra("message", message.Text);
StartActivity(intent);
};
}
}
}
Основная проблема с моей стороны состоит в том, что приложение должно требовать разрешения SEND_SMS в соответствии с нашей документацией.Однако это не требует разрешения вообще.Независимо от того, было ли у меня разрешение включено или выключено, приложение работает, как и ожидалось, и открывает интерфейс SMS.
Я не уверен, что это может быть связано с неправильной настройкой эмулятора или подобным, но еслилюбой мог бы немного открыть мне глаза на то, как я игнорирую это разрешение, я был бы очень благодарен.
Заранее спасибо!