Android - номер телефона не заполняется в приложении Android 9 и 10 сообщений при отправке нескольких вложений через ActionSendMultiple - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь отправить MMS с несколькими вложениями, текстом и номерами телефонов с помощью действия ActionSendMultiple. Следующий код успешно прикрепляет несколько изображений и текста, но он не заполняет номер телефона на устройствах Android 9 и 10 при выборе приложения для сообщений.

var contentUri = FileProvider.GetUriForFile(Xamarin.Forms.Forms.Context.ApplicationContext, ApplicationContext.PackageName + ".fileprovider", file1);
var sendIntent = new Intent(Intent.ActionSendMultiple);
var uris = new List<Android.Net.Uri>();
uris.Add(contentUri);

sendIntent.AddFlags(ActivityFlags.NewTask);//Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.AddFlags(ActivityFlags.GrantReadUriPermission);
sendIntent.AddFlags(ActivityFlags.NoHistory);
sendIntent.SetData(Android.Net.Uri.Parse("smsto:"));
sendIntent.PutExtra(Intent.ExtraPhoneNumber, new string[] { phoneNumber });
sendIntent.PutExtra(Intent.ExtraText, msgBody);    
sendIntent.PutExtra("address", phoneNumber);
sendIntent.PutExtra("sms_body", msgBody);
if (businessCard != null)
{
    var bitmap = BitmapFactory.DecodeByteArray(businessCard, 0, businessCard.Length);
    if (bitmap != null)
    {
        //SaveBitmapToFile(bitmap);
        var bPath = bitmap.SaveAndAddToGallery(Guid.NewGuid().ToString() + ".jpeg", this, false, false, 50);
        // Sending mms code
        var bFile = new Java.IO.File(bPath);
        //var uri = Android.Net.Uri.FromFile(file1);
        var bContentUri = FileProvider.GetUriForFile(Xamarin.Forms.Forms.Context.ApplicationContext, ApplicationContext.PackageName + ".fileprovider", bFile)
        uris.Add(bContentUri);
    }
}

sendIntent.PutParcelableArrayListExtra(Intent.ExtraStream, uris.ToArray());    
sendIntent.SetType("image/*");
var chooserIntent = Intent.CreateChooser(sendIntent, "Send");
chooserIntent.AddFlags(ActivityFlags.NewTask);
Android.App.Application.Context.StartActivity(chooserIntent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...