Deep-Linking in NET9 MAUIAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Deep-Linking in NET9 MAUI

Post by Anonymous »

In meiner NET9 MAUI-Anwendung versuche ich, den Deeplink gemäß der Microsoft-Dokumentation zu implementieren. Wenn ich eine Anfrage sende, gelangt sie zum OnCreate in der MainActivity.

Code: Select all

[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true,
LaunchMode = LaunchMode.SingleTop,
ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation |
ConfigChanges.UiMode |
ConfigChanges.ScreenLayout |
ConfigChanges.SmallestScreenSize |
ConfigChanges.Density)]
[IntentFilter(new[] { Platform.Intent.ActionAppAction },
Categories = new[] { global::Android.Content.Intent.CategoryDefault })]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[]
{
Intent.ActionView,
Intent.CategoryDefault,
Intent.CategoryBrowsable,
},
DataScheme = "liu", DataHost = "", DataPathPrefix = "/")]
public class MainActivity : MauiAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);

Window.SetFlags(WindowManagerFlags.Secure,
WindowManagerFlags.LayoutNoLimits);
Window.SetStatusBarColor(Android.Graphics.Color.Blue);

var action = Intent?.Action;
var data = Intent?.Data?.ToString();

if (action == Intent.ActionView && data is not null)
{
HandleAppLink(data);
}
}
}
Unmittelbar danach erhalte ich diese Fehlermeldung:

System.InvalidOperationException: „Dieses Fenster ist bereits einer aktiven Aktivität (LanguageInUse.MainActivity) zugeordnet. Bitte überschreiben Sie CreateWindow auf LanguageInUse.App, um Unterstützung für mehrere Aktivitäten hinzuzufügen https://aka.ms/maui-docs-create-window oder legen Sie LaunchMode auf SingleTop auf LanguageInUse.MainActivity fest />Wie in der Dokumentation steht, habe ich in MauiProgram.cs Folgendes hinzugefügt

Code: Select all

var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
})
.ConfigureLifecycleEvents(lifecycle =>
{
#if ANDROID
lifecycle.AddAndroid(android =>
{
android.OnCreate((activity, bundle) =>
{
var action = activity.Intent?.Action;
var data = activity.Intent?.Data?.ToString();

if (action == Android.Content.Intent.ActionView && data is not null)
{
Task.Run(() => HandleAppLink(data));
}
});
android.OnNewIntent((activity, intent) =>
{
var action = intent?.Action;
var data = intent?.Data?.ToString();

if (action == Android.Content.Intent.ActionView && data is not null)
{
Task.Run(() => HandleAppLink(data));
}
});
});
#endif
});

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Deep-Linking in NET9 MAUI
    by Anonymous » » in C#
    0 Replies
    0 Views
    Last post by Anonymous
  • Flutter Deep Linking
    by Guest » » in Android
    0 Replies
    19 Views
    Last post by Guest
  • Video ohne Audio in .NET9 MAUI HYBRIDWEBVIEW
    by Anonymous » » in Android
    0 Replies
    19 Views
    Last post by Anonymous
  • Der Release-Modus für ein NET9-MAUI konnte den Eintrag „classes.dex“ nicht finden
    by Anonymous » » in C#
    0 Replies
    0 Views
    Last post by Anonymous
  • Der Release-Modus für ein NET9-MAUI konnte den Eintrag „classes.dex“ nicht finden
    by Anonymous » » in Android
    0 Replies
    0 Views
    Last post by Anonymous