2017-04-23 1 views
0

Ich möchte mehrere Android-Aktivitäten verwenden. Erstens ist die allgemeine Anwendung. Die zweite ist die Benachrichtigungsansicht. Sie haben unterschiedliche Aktivitätseinstellungen und daher kann ich keine Aktivität für dieses Problem verwenden.Mehrere Xamarin.Forms Android-Aktivitäten

Ich versuche, dies zu tun:

[Activity(Label = "Life Manager", MainLauncher = true, Icon = "@drawable/icon")] 
public class MainActivity : FormsApplicationActivity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 
     Forms.Init(this, bundle); 
     ActionBar.SetIcon(new ColorDrawable(Color.Transparent)); 
     LoadApplication(new TimeManagerApplication()); 

     Device.StartTimer(new TimeSpan(0, 0, 0, 5), OpenNotificationActivity); 
    } 

    private bool OpenNotificationActivity() 
    { 
     Intent intent = new Intent(this, typeof(NotificationActivity)); 
     StartActivity(intent); 
     return false; 
    } 
} 

[Activity(Label = "NotificationActivity")] 
public class NotificationActivity : FormsApplicationActivity 
{ 
    protected override void OnCreate(Bundle savedInstanceState) 
    { 
     RequestWindowFeature(WindowFeatures.NoTitle); 
     Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.KeepScreenOn); 

     base.OnCreate(savedInstanceState); 

     Forms.Init(this, savedInstanceState); 
     LoadApplication(new NotificiationApplication()); 
    } 
} 

In dieser Zeile:

LoadApplication(new NotificiationApplication()); 

ich einen Fehler nehmen:

System.NullReferenceException: Object reference not set to an instance of an object. 

Wie kann ich zwei Android-Aktivitäten in einer Anwendung verwenden und verwenden plattformübergreifende Xamarin.Forms Ansichten dafür?

Update:

Ohne diese Linien Anwendung funktioniert perfekt:

//RequestWindowFeature(WindowFeatures.NoTitle); 
//Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.KeepScreenOn); 

Aber wie kann ich Statusleiste verstecken und Vollbild-Ansicht nutzen?

+0

Warum verwenden Sie nicht die gleiche Aktivität? Wenn Sie die Benachrichtigung erhalten, navigieren Sie einfach zur richtigen Ansicht. – Eastrall

+0

@Eastrall, bitte beachten Sie die verschiedenen Einstellungen von Aktivitäten. Ich brauche Vollbild und Status ohne Statusleiste mit Benachrichtigungsansicht. – uda

Antwort

0

Ich entschied mich für dieses Problem.

Vollbild-Ansicht zu nehmen, ohne Statusleiste genug Gebrauch Fenster Flags

Window.AddFlags(WindowManagerFlags.Fullscreen | WindowManagerFlags.KeepScreenOn); 

ohne nur:

RequestWindowFeature(WindowFeatures.NoTitle); 

Anwendung arbeitet als ohne Ausnahmen erwartet.