Ich möchte, dass meine .NET 9 MAUI -App (zunächst auf Android abzielt) auf Änderungen der Geräteorientierung reagiert. Anfangs funktionierte dies, aber irgendwann muss ich Änderungen vorgenommen haben und bemerkte nicht, dass die Orientierungsänderungen keine Ereignisse mehr auslösten. Ich habe verifiziert, dass sowohl der Emulator (Pixel 7 Pro, API 35) als auch ein physikalisches Gerät (Samsung S23 Ultra, API 34) automatisch-robotat aktiviert sind und Änderungen der Orientierung für andere Apps funktionieren. < /P>
< P> Zuerst habe ich contentPage.SizeChanged verwendet, was für einzelne Seiten in Ordnung war. < /p>
public partial class SplashScreen : ContentPage
{
public SplashScreen()
{
InitializeComponent();
BindingContext = this;
this.SizeChanged += OnPageSizeChanged;
}
public void OnPageSizeChanged(object sender, EventArgs e)
{
Debug.WriteLine("OnPageSizeChanged triggered");
}
}
< /code>
Als ich bemerkte, dass dies nicht mehr funktionierte (OnSpageSizeChanged wurde überhaupt nicht ausgelöst), habe ich versucht, OnSizeallocated zu überschreiben, wie hier vorgeschlagen. Derzeit wird diese Methode nur einmal ausgeführt (wenn die App startet), aber nie als Reaktion auf eine Orientierungsänderung.public partial class SplashScreen : ContentPage
{
public SplashScreen()
{
InitializeComponent();
BindingContext = this;
DeviceDisplay.Current.MainDisplayInfoChanged += (object sender, DisplayInfoChangedEventArgs e) =>
{
Debug.WriteLine("MainDisplayInfoChanged triggered");
}
}
}
< /code>
Das hat überhaupt nicht funktioniert; MainDisplayInfochanged wird weder während des Starts noch als Lambda oder als regulärer Ereignishandler ausgelöst. . < /p>
[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.KeyboardHidden | ConfigChanges.ScreenLayout | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
public override void OnConfigurationChanged(Android.Content.Res.Configuration newConfig)
{
Debug.WriteLine("MainActivity OnConfigurationChanged");
base.OnConfigurationChanged(newConfig);
}
}
< /code>
Ich bezweifle, dass ich die meisten dieser Konfigurationen benötige, aber ich habe die Orientierung und die Bilduntersuchung getrennt ausprobiert und sogar den gesamten Parameter für Konfigurationschangen entfernen. Ich habe auch dieselben Sätze von Konfigurationswerten in der Datei androidManifest.xml im Antragsabschnitt ausprobiert. Fand alles, was meine App dazu veranlasst, auf Orientierungsänderungen zu reagieren oder sogar die relevanten Ereignisse auszuführen. Also, meine Frage: Was verhindert meine App daran, sich von Orientierungsänderungen zu beantworten oder sogar zu bewusst?
Was verhindert, dass eine .NET MAUI -App Geräteorientierungsereignisse empfängt? ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post