Xamarin使用java.lang.IllegalStateException: Not allowed to start service Intent
形成针对api 26级崩溃的Android应用程序
在后台接收通知时
从Notification in oreo开始,我理解的只是在应用白名单持续时间内,只有应用可以提供服务。如何正确处理这种情况,当我收到通知时,我会调用并更新我的数据库,我该如何正确地管理它。
一个答案显示
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
context.startForegroundService(new Intent(context, ServedService.class));
} else {
context.startService(new Intent(context, ServedService.class));
}
但是我如何在xamarin表单应用程序中实现这一点以正确接收推送通知。
答案 0 :(得分:1)
从Android 8.0开始(API级别26)。
如果针对Android 8.0的应用尝试在不允许创建后台服务的情况下使用该方法,则startService()方法现在会抛出IllegalStateException。
阅读Android 8.0 Behavior Changes,以便在android Oreo中开展工作。您可以在通知接收上使用Job scheduler来执行数据库任务。