User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.
userNotificationCenter:didReceive:withCompletionHandler is called but the app get killed very quickly.
The app is completely killed and I want to respond to notification action without opening the app. I've tried to use semaphore with no success.
publicinit(){super.init()self.startBackgroundService()UNUserNotificationCenter.current().delegate =selfMessaging.messaging().delegate =self}publicfunc userNotificationCenter(_ center:UNUserNotificationCenter,
didReceive response:UNNotificationResponse,
withCompletionHandler completionHandler:@escaping ()->Void){NSLog("userNotificationCenter:didReceive:withCompletionHandler")vardata:[String:Any]=["$":"NotificationResponse"]data["notification"]= response.notification.asDictionary()data["actionIdentifier"]= response.actionIdentifier
data["backgroundDispatcher"]= getDispatcherHandle(key:"backgroundDispatcher")iflet textResponse = response as?UNTextInputNotificationResponse{data["$"]="TextInputNotificationResponse"data["userText"]= textResponse.userText
}if(!initialized){// wait for the service to initialize
semaphore.wait();}self.background.invokeMethod("notificationResponse", arguments:data){ result in
completionHandler()// the work is done, resume
self.semaphore.resume();}// wait for the work to complete
semaphore.wait();}privatefunc startBackgroundService(){NSLog("startBackgroundService")
internalQueue.sync {if(initialized){return;}}iflet info =FlutterCallbackCache.lookupCallbackInformation(getDispatcherHandle(key:"callbackDispatcher")){
backgroundRunner.run(withEntrypoint: info.callbackName, libraryURI: info.callbackLibraryPath)
registrar.addMethodCallDelegate(self,channel: background)
background.setMethodCallHandler { call
No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that
you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice
sessions to improve your knowledge and scores.
manpreet
Best Answer
3 years ago
userNotificationCenter:didReceive:withCompletionHandler is called but the app get killed very quickly.
The app is completely killed and I want to respond to notification action without opening the app. I've tried to use semaphore with no success.