by Anonymous » 12 Mar 2025, 03:26
Ich schreibe einen
maui android app, der Dateien empfängt, die von
WhatsApp oder
Telegramm geteilt werden. OnNeWintent . Dies ist an sich kein Problem, aber wenn ich eine Datei von Say WhatsApp teile, wird eine ganze neue Instanz der App erstellt, sodass ich zwei Instanzen der App gleichzeitig ausgeführt habe. Dies führt zu Abstürzen. Was ist los? Wenn ich mir den Aufgabenschalter betrachte, habe ich eine Aufgabe, die
myApp und eine Aufgabe ist, die
WhatsApp ist, aber die UI von ist eine andere Instanz von
myApp , die über die Normalen
MyApp scheint die gleichen Aktivitätsinstanzwerte und das gleiche Fenster zu teilen. Es ist also dieselbe Instanz der Aktivität im Android -System auf zwei visuell in zwei Aufteilungen. (MyApp.MainActivity). Bitte überschreiben Sie
createwindow auf myapp.app, um Unterstützung für mehrere Aktivitäten hinzuzufügen. Singletop hat keinerlei Auswirkungen. Dies hilft, einige meiner Probleme zu lösen. Aber meine App wird immer noch als Kind von
WhatsApp oder
Telegramm beim Teilen von dort nachgebildet. Ich muss noch dieses
Problem gelöst werden. AppShell wird mit einem eigenen zugehörigen Flyout -Menü erstellt. Damit die App ohne das Brechen oder sogar die Erholung dieser Elemente neu gestartet werden kann? /> Code < /strong> < /p>
Code: Select all
[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);
}
}
Ich schreibe einen [b] maui android [/b] app, der Dateien empfängt, die von [b] WhatsApp [/b] oder [b] Telegramm geteilt werden. OnNeWintent . Dies ist an sich kein Problem, aber wenn ich eine Datei von Say WhatsApp [/b] teile, wird eine ganze neue Instanz der App erstellt, sodass ich zwei Instanzen der App gleichzeitig ausgeführt habe. Dies führt zu Abstürzen. Was ist los? Wenn ich mir den Aufgabenschalter betrachte, habe ich eine Aufgabe, die [b] myApp [/b] und eine Aufgabe ist, die [b] WhatsApp [/b] ist, aber die UI von ist eine andere Instanz von [b] myApp [/b], die über die Normalen [b] MyApp [/b] scheint die gleichen Aktivitätsinstanzwerte und das gleiche Fenster zu teilen. Es ist also dieselbe Instanz der Aktivität im Android -System auf zwei visuell in zwei Aufteilungen. (MyApp.MainActivity). Bitte überschreiben Sie
createwindow auf myapp.app, um Unterstützung für mehrere Aktivitäten hinzuzufügen. Singletop hat keinerlei Auswirkungen. Dies hilft, einige meiner Probleme zu lösen. Aber meine App wird immer noch als Kind von [b] WhatsApp [/b] oder [b] Telegramm [/b] beim Teilen von dort nachgebildet. Ich muss noch dieses [url=viewtopic.php?t=15738]Problem[/url] gelöst werden. AppShell wird mit einem eigenen zugehörigen Flyout -Menü erstellt. Damit die App ohne das Brechen oder sogar die Erholung dieser Elemente neu gestartet werden kann? /> Code < /strong> < /p>
[code] [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);
}
}
[/code]