Как получить Maui Android Singletop, SingletkAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить Maui Android Singletop, Singletk

Сообщение Anonymous »

Я пишу приложение maui Android , которое получает файлы, разделяемые из WhatsApp или Telegram .
Определено только одно действие и создается как Singlets Onnewintent . Само по себе это не проблема, но когда я делюсь файлом из, скажем, WhatsApp , создается совершенно новый экземпляр приложения, так что у меня есть два экземпляра приложения, работающего одновременно. Это приводит к сбоям. Что происходит? Когда я смотрю на переключатель задач, у меня есть одна задача, которая является myApp и одной задачей, которая является WhatsApp , но WhatsApp - еще один случай myApp , который был перекрыт на вершину нормального whysp myApp , кажется, разделяет одни и те же значения экземпляра и окна. Таким образом, это тот же экземпляр деятельности, визуально разделяемый на два в системе Android. (MyApp.mainactivity). Пожалуйста, переопределите
createwindow на myapp.app, чтобы добавить поддержку нескольких действий
https://aka.ms/maui-docs-create-window или установите запуск на
Singletop на myapp.mainactivity. Singletop не имеет никакого влияния. Это помогает решить часть моей проблемы. Но мое приложение по -прежнему воссоздается как ребенок WhatsApp или Telegram при обмене оттуда. Все еще нужна эта проблема, решаемая.
edit 4
Я столкнулся с новой связанной проблемой. Appshell создается с помощью собственного связанного меню Flyout. В любом случае, чтобы приложение было перезаботено без разрыва или даже отдыха, этих элементов? /> code < /strong> < /p>
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true,
LaunchMode = LaunchMode.SingleTask,
NoHistory = true,
Exported = true,
TaskAffinity = "com.mycompany.myapp",
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation |
ConfigChanges.UiMode | ConfigChanges.ScreenLayout |
ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]

//whatsapp & telegram send binaries as octet-stream
[IntentFilter(new[] { Android.Content.Intent.ActionSend },
Categories = new[] { Android.Content.Intent.CategoryDefault },
DataMimeType = @"application/octet-stream",
Icon = "@mipmap/appicon")]

public partial class LaunchActivity : MauiAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
try
{
base.OnCreate(bundle);
Platform.Init(this, bundle);

if (Intent.Action == Intent.ActionSend || Intent.Action == Intent.ActionView)
ProcessSendOrViewIntent();

LaunchMainActivity();

Finish();
}
catch (Exception e)
{
LogException(e, false);
throw;
}
}

void LaunchMainActivity()
{
Intent intent = new Intent(this, typeof(MainActivity));
intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
StartActivity(intent);
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... documented
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»