Open tranb3r opened 3 years ago
@tranb3r Can you have a look at #150
@thudugala Thank you for answering. It seems to me that #150 is a totally different issue. But maybe I've missed something ? What do you recommend exactly ? Do you think you can fix the sample app ?
https://github.com/thudugala/Plugin.LocalNotification/issues/156#issuecomment-841480667
@tranb3r Can you try setting LaunchMode = LaunchMode.SingleTask onto the Activity attribute declaration of MainActivity.cs ?
@thudugala I've tested every LaunchModes. It does not make a difference.
I just notice in Plugin.LocalNotification/Sample/NuGet/LocalNotification.Sample/App.xaml.cs
the OnResume
and OnSleep
function are rewritten (i.e. overridden). When you override these function you need to call base.OnResume()
and base.OnSleep()
to maintain the state of application respectively, (or write your own logic) if you don't do then application did the above behaviour. I solve it in my app with this fix.
I didn't test on Sample app. But I had same issue in my live app and solve by adding those 2 function call respectively.
@archergod I've tested your fix proposal, both on the sample app and on my app. It doesn't work. Are you sure it's fixed in your app ? Maybe you can share your code.
Besides, base.OnSleep and base.OnResume in Xamarin.Forms.Application are empty, so it's not suprising this fix proposal is not working.
protected virtual void OnResume()
{
}
protected virtual void OnSleep()
{
}
protected virtual void OnStart()
{
}
conceptually if function get compiled in final version it will overwrite the previous version. so even empty function will overwrite previous method. If you don't need those method just remove them (as per guide) otherwise even empty function need call.
I am not at desk for couple of days to test myself, but that is how I fixed it. it is not this plugin issue for sure. It is the flow of xamarin
to manage state or not. maybe I miss some settings. when I get chance I test and let you know.
Sorry if I wasn't clear. The code with empty methods is Xamarin.Forms, not my code. So basically, you're calling empty methods when you add base.OnSleep() and base.OnResume(). Or maybe I'm missing something...
@tranb3r Just to try this out, can you remove OnResume(), OnSleep(), OnStart() if you are not using them or add base call if you are using them. Just to try out @archergod suggestion
I've already reported here that I've tested calling base.OnSleep and base.OnResume, both and the sample and on my own app. It doesn't work. Which is expected since base methods are not doing anything.
I am not sure why it didn't work for you. I see the sample app are old and using older v8 code in Nuget
Folder. But to help you further, I have Xamarin Essential in my app and found this code that looks significant to issue
(savedInstanceState is important in above picture. but I recommend reading little before trying).
the problem is mention here as : https://stackoverflow.com/questions/61948076/xamarin-forms-app-restarts-instead-of-resume-on-ios-app-switching
So clearly it is not plugin issue, but some configuration is problem. Though sample apps need to be fixed for issue as well, but that is other topic I guess.
@archergod I'm sorry but I don't understand your explanation. Your links are about app restart (not sleep/resume), and the issue mentionnend has been fixed in a more recent version of xamarin.forms.
So clearly it is not plugin issue, but some configuration is problem. Though sample apps need to be fixed for issue as well, but that is other topic I guess.
Fixing the sample app is exactly what this topic is about!
So, if you have the code of an app on which this issue is fixed, could you please share it?
@thudugala So what? Please explain your findings...
@tranb3r can you try changing PendingIntentFlags to fix that helps
var notification = new NotificationRequest
{
Android.PendingIntentFlags = AndroidPendingIntentFlags.CancelCurrent;
};
@thudugala Just tested it, same result. By the way, isn't CancelCurrent the default value for PendingIntentFlags in AndroidOptions ?
@tranb3r yes. Try setting it to different values
@thudugala Same behavior with all values.
Hi @thudugala This issue is not fixed, so why did you close it?
@tranb3r Is this still happening in .Net Maui?
@tranb3r Is this still happening in .Net Maui?
Yes. And it's easily reproducible with the sample app.
Describe the bug
On Android, when resuming an app by tapping on a local notification from the lock screen, the app resumes, then goes to sleep, then resumes again.
Is this an android bug, a xamarin forms bug, or a bug in the localnotification plugin ?
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app should simply resume. No resume-sleep-resume strange cycle.
Platform: