Xamarin issue with navigating - black sceen
up vote
0
down vote
favorite
I've got a problem with dark screen after opening minimized app (Android).
It happens in the following scenario:
I tap on a notification, the InfoPage opens. I press back button and it navigates to the main page. I minimize the app, and open it again. After opening again, the screen is black, with the name "InfoActivity" at the top, on a white bar.
Below I present the part of code for MainActivity and InfoPage.
In the MainActivity class, there is a code for opening InfoPage from notification. In the InfoPage class, there is a code for back button.
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
Bundle bundle;
protected override void OnCreate(Bundle bundle)
{
...
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Intent = intent;
DisplayPage();
}
public void DisplayPage()
{
global::Xamarin.Forms.Forms.Init(this, bundle);
Xamarin.Forms.Application app = new App();
app.MainPage.Navigation.PushAsync(new InfoPage());
LoadApplication(app);
}
}
public class InfoPage : BasePage
{
public InfoPage()
{
...
}
private void onClickBackButton(object sender, EventArgs e)
{
Navigation.PopAsync();
}
protected override bool OnBackButtonPressed()
{
Navigation.PopAsync();
return true;
}
}
[Activity(Label = "InfoActivity")]
public class InfoActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
Intent i = new Intent(this, typeof(MainActivity));
i.AddFlags(ActivityFlags.ReorderToFront);
this.StartActivity(i);
base.OnCreate(savedInstanceState);
}
}
c# .net xamarin xamarin.forms xamarin.android
add a comment |
up vote
0
down vote
favorite
I've got a problem with dark screen after opening minimized app (Android).
It happens in the following scenario:
I tap on a notification, the InfoPage opens. I press back button and it navigates to the main page. I minimize the app, and open it again. After opening again, the screen is black, with the name "InfoActivity" at the top, on a white bar.
Below I present the part of code for MainActivity and InfoPage.
In the MainActivity class, there is a code for opening InfoPage from notification. In the InfoPage class, there is a code for back button.
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
Bundle bundle;
protected override void OnCreate(Bundle bundle)
{
...
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Intent = intent;
DisplayPage();
}
public void DisplayPage()
{
global::Xamarin.Forms.Forms.Init(this, bundle);
Xamarin.Forms.Application app = new App();
app.MainPage.Navigation.PushAsync(new InfoPage());
LoadApplication(app);
}
}
public class InfoPage : BasePage
{
public InfoPage()
{
...
}
private void onClickBackButton(object sender, EventArgs e)
{
Navigation.PopAsync();
}
protected override bool OnBackButtonPressed()
{
Navigation.PopAsync();
return true;
}
}
[Activity(Label = "InfoActivity")]
public class InfoActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
Intent i = new Intent(this, typeof(MainActivity));
i.AddFlags(ActivityFlags.ReorderToFront);
this.StartActivity(i);
base.OnCreate(savedInstanceState);
}
}
c# .net xamarin xamarin.forms xamarin.android
YourDisplayPage
method is really confusing. Does your Activity.OnCreate still call Forms'Init
Forms andLoadApplcation
? Is this activity asingleTop
? Depending upon what you are doing in OnCreate and how thelaunchMode
for this activity is defined, I'm surprised that a black screen is the only thing happening, i.e. not crashing... 😕
– SushiHangover
Nov 10 at 21:43
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I've got a problem with dark screen after opening minimized app (Android).
It happens in the following scenario:
I tap on a notification, the InfoPage opens. I press back button and it navigates to the main page. I minimize the app, and open it again. After opening again, the screen is black, with the name "InfoActivity" at the top, on a white bar.
Below I present the part of code for MainActivity and InfoPage.
In the MainActivity class, there is a code for opening InfoPage from notification. In the InfoPage class, there is a code for back button.
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
Bundle bundle;
protected override void OnCreate(Bundle bundle)
{
...
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Intent = intent;
DisplayPage();
}
public void DisplayPage()
{
global::Xamarin.Forms.Forms.Init(this, bundle);
Xamarin.Forms.Application app = new App();
app.MainPage.Navigation.PushAsync(new InfoPage());
LoadApplication(app);
}
}
public class InfoPage : BasePage
{
public InfoPage()
{
...
}
private void onClickBackButton(object sender, EventArgs e)
{
Navigation.PopAsync();
}
protected override bool OnBackButtonPressed()
{
Navigation.PopAsync();
return true;
}
}
[Activity(Label = "InfoActivity")]
public class InfoActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
Intent i = new Intent(this, typeof(MainActivity));
i.AddFlags(ActivityFlags.ReorderToFront);
this.StartActivity(i);
base.OnCreate(savedInstanceState);
}
}
c# .net xamarin xamarin.forms xamarin.android
I've got a problem with dark screen after opening minimized app (Android).
It happens in the following scenario:
I tap on a notification, the InfoPage opens. I press back button and it navigates to the main page. I minimize the app, and open it again. After opening again, the screen is black, with the name "InfoActivity" at the top, on a white bar.
Below I present the part of code for MainActivity and InfoPage.
In the MainActivity class, there is a code for opening InfoPage from notification. In the InfoPage class, there is a code for back button.
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
Bundle bundle;
protected override void OnCreate(Bundle bundle)
{
...
}
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
Intent = intent;
DisplayPage();
}
public void DisplayPage()
{
global::Xamarin.Forms.Forms.Init(this, bundle);
Xamarin.Forms.Application app = new App();
app.MainPage.Navigation.PushAsync(new InfoPage());
LoadApplication(app);
}
}
public class InfoPage : BasePage
{
public InfoPage()
{
...
}
private void onClickBackButton(object sender, EventArgs e)
{
Navigation.PopAsync();
}
protected override bool OnBackButtonPressed()
{
Navigation.PopAsync();
return true;
}
}
[Activity(Label = "InfoActivity")]
public class InfoActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
Intent i = new Intent(this, typeof(MainActivity));
i.AddFlags(ActivityFlags.ReorderToFront);
this.StartActivity(i);
base.OnCreate(savedInstanceState);
}
}
c# .net xamarin xamarin.forms xamarin.android
c# .net xamarin xamarin.forms xamarin.android
edited Nov 12 at 12:49
asked Nov 10 at 21:30
user4824732
104
104
YourDisplayPage
method is really confusing. Does your Activity.OnCreate still call Forms'Init
Forms andLoadApplcation
? Is this activity asingleTop
? Depending upon what you are doing in OnCreate and how thelaunchMode
for this activity is defined, I'm surprised that a black screen is the only thing happening, i.e. not crashing... 😕
– SushiHangover
Nov 10 at 21:43
add a comment |
YourDisplayPage
method is really confusing. Does your Activity.OnCreate still call Forms'Init
Forms andLoadApplcation
? Is this activity asingleTop
? Depending upon what you are doing in OnCreate and how thelaunchMode
for this activity is defined, I'm surprised that a black screen is the only thing happening, i.e. not crashing... 😕
– SushiHangover
Nov 10 at 21:43
Your
DisplayPage
method is really confusing. Does your Activity.OnCreate still call Forms' Init
Forms and LoadApplcation
? Is this activity a singleTop
? Depending upon what you are doing in OnCreate and how the launchMode
for this activity is defined, I'm surprised that a black screen is the only thing happening, i.e. not crashing... 😕– SushiHangover
Nov 10 at 21:43
Your
DisplayPage
method is really confusing. Does your Activity.OnCreate still call Forms' Init
Forms and LoadApplcation
? Is this activity a singleTop
? Depending upon what you are doing in OnCreate and how the launchMode
for this activity is defined, I'm surprised that a black screen is the only thing happening, i.e. not crashing... 😕– SushiHangover
Nov 10 at 21:43
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
I am going to assuming that your Activity is not defined as a "singleTop"
LaunchMode = LaunchMode.SingleTop
And thus you are trying to reinitialize the Form's application when OnNewIntent
is called.
1) Set your Activity to be a singleTop:
[Activity(Label = "FormsXXXX", Icon = "@mipmap/icon", Theme = "@style/MainTheme", LaunchMode = LaunchMode.SingleTop, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
}
2) Change your DisplayPage
to only include the navigation PushAsync:
public void DisplayPage()
{
Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new InfoPage());
}
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
I am going to assuming that your Activity is not defined as a "singleTop"
LaunchMode = LaunchMode.SingleTop
And thus you are trying to reinitialize the Form's application when OnNewIntent
is called.
1) Set your Activity to be a singleTop:
[Activity(Label = "FormsXXXX", Icon = "@mipmap/icon", Theme = "@style/MainTheme", LaunchMode = LaunchMode.SingleTop, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
}
2) Change your DisplayPage
to only include the navigation PushAsync:
public void DisplayPage()
{
Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new InfoPage());
}
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
add a comment |
up vote
0
down vote
I am going to assuming that your Activity is not defined as a "singleTop"
LaunchMode = LaunchMode.SingleTop
And thus you are trying to reinitialize the Form's application when OnNewIntent
is called.
1) Set your Activity to be a singleTop:
[Activity(Label = "FormsXXXX", Icon = "@mipmap/icon", Theme = "@style/MainTheme", LaunchMode = LaunchMode.SingleTop, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
}
2) Change your DisplayPage
to only include the navigation PushAsync:
public void DisplayPage()
{
Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new InfoPage());
}
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
add a comment |
up vote
0
down vote
up vote
0
down vote
I am going to assuming that your Activity is not defined as a "singleTop"
LaunchMode = LaunchMode.SingleTop
And thus you are trying to reinitialize the Form's application when OnNewIntent
is called.
1) Set your Activity to be a singleTop:
[Activity(Label = "FormsXXXX", Icon = "@mipmap/icon", Theme = "@style/MainTheme", LaunchMode = LaunchMode.SingleTop, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
}
2) Change your DisplayPage
to only include the navigation PushAsync:
public void DisplayPage()
{
Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new InfoPage());
}
I am going to assuming that your Activity is not defined as a "singleTop"
LaunchMode = LaunchMode.SingleTop
And thus you are trying to reinitialize the Form's application when OnNewIntent
is called.
1) Set your Activity to be a singleTop:
[Activity(Label = "FormsXXXX", Icon = "@mipmap/icon", Theme = "@style/MainTheme", LaunchMode = LaunchMode.SingleTop, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
}
2) Change your DisplayPage
to only include the navigation PushAsync:
public void DisplayPage()
{
Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new InfoPage());
}
edited Nov 10 at 22:02
answered Nov 10 at 21:52
SushiHangover
49.3k53583
49.3k53583
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
add a comment |
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
Thank you. I defined MainActivity as singleTop and I changed the DisplayPage method. However, the same situation with the black screen happens - notthing's changed. I added a piece of code of InfoActivity - I probably should make a change there.
– user4824732
Nov 12 at 10:21
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243596%2fxamarin-issue-with-navigating-black-sceen%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Your
DisplayPage
method is really confusing. Does your Activity.OnCreate still call Forms'Init
Forms andLoadApplcation
? Is this activity asingleTop
? Depending upon what you are doing in OnCreate and how thelaunchMode
for this activity is defined, I'm surprised that a black screen is the only thing happening, i.e. not crashing... 😕– SushiHangover
Nov 10 at 21:43