5 글 보임 - 1 에서 5 까지 (총 5 중에서)
-
글쓴이글
-
2023년 12월 9일 21:49 #106359
이승연참가자안녕하세요 showNotification()은 되는데 showNotification2()는 안되네요.... 구글링 해서 막 다 찾아봐서 android 어쩌고 xml 사진 보시면 드래그 쳐져 있는거 추가해보라고 해서 했는데도 안되고 var iosSetting = IOSInitializationSettings(.....이건 var iosSetting = DarwinInitializationSettings( var iosDetails = IOSNotificationDetails(..... 이건 var iosDetails = DarwinNotificationDetails 뭐 이렇게 바꿔보라고 해서 바꿨는데 애초에 flutter_local_notifications: ^9.1.5 버전이라 DarwinInitializationSettings, DarwinNotificationDetails 이 메서드들은 인식을 못하더라구요 어떻게 하나요... E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): Failed to handle method call E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): java.lang.SecurityException: Caller com.example.instagram needs to hold android.permission.SCHEDULE_EXACT_ALARM or android.permission.USE_EXACT_ALARM to set exact alarms. E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Parcel.createExceptionOrNull(Parcel.java:3057) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Parcel.createException(Parcel.java:3041) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Parcel.readException(Parcel.java:3024) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Parcel.readException(Parcel.java:2966) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:311) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.app.AlarmManager.setImpl(AlarmManager.java:1084) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.app.AlarmManager.setImpl(AlarmManager.java:1044) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.app.AlarmManager.setExactAndAllowWhileIdle(AlarmManager.java:1312) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at androidx.core.app.AlarmManagerCompat$Api23Impl.setExactAndAllowWhileIdle(AlarmManagerCompat.java:271) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at androidx.core.app.AlarmManagerCompat.setExactAndAllowWhileIdle(AlarmManagerCompat.java:228) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.zonedScheduleNotification(FlutterLocalNotificationsPlugin.java:452) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.zonedSchedule(FlutterLocalNotificationsPlugin.java:1367) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.onMethodCall(FlutterLocalNotificationsPlugin.java:1251) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Handler.handleCallback(Handler.java:958) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Handler.dispatchMessage(Handler.java:99) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Looper.loopOnce(Looper.java:205) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Looper.loop(Looper.java:294) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.app.ActivityThread.main(ActivityThread.java:8177) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at java.lang.reflect.Method.invoke(Native Method) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): Caused by: android.os.RemoteException: Remote stack trace: E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at com.android.server.alarm.AlarmManagerService$5.set(AlarmManagerService.java:2981) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.app.IAlarmManager$Stub.onTransact(IAlarmManager.java:181) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Binder.execTransactInternal(Binder.java:1339) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): at android.os.Binder.execTransact(Binder.java:1275) E/MethodChannel#dexterous.com/flutter/local_notifications( 6849): D/EGL_emulation( 6849): app_time_stats: avg=648.34ms min=11.67ms max=5514.90ms count=10 E/flutter ( 6849): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, Caller com.example.instagram needs to hold android.permission.SCHEDULE_EXACT_ALARM or android.permission.USE_EXACT_ALARM to set exact alarms., null, java.lang.SecurityException: Caller com.example.instagram needs to hold android.permission.SCHEDULE_EXACT_ALARM or android.permission.USE_EXACT_ALARM to set exact alarms. E/flutter ( 6849): at android.os.Parcel.createExceptionOrNull(Parcel.java:3057) E/flutter ( 6849): at android.os.Parcel.createException(Parcel.java:3041) E/flutter ( 6849): at android.os.Parcel.readException(Parcel.java:3024) E/flutter ( 6849): at android.os.Parcel.readException(Parcel.java:2966) E/flutter ( 6849): at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:311) E/flutter ( 6849): at android.app.AlarmManager.setImpl(AlarmManager.java:1084) E/flutter ( 6849): at android.app.AlarmManager.setImpl(AlarmManager.java:1044) E/flutter ( 6849): at android.app.AlarmManager.setExactAndAllowWhileIdle(AlarmManager.java:1312) E/flutter ( 6849): at androidx.core.app.AlarmManagerCompat$Api23Impl.setExactAndAllowWhileIdle(AlarmManagerCompat.java:271) E/flutter ( 6849): at androidx.core.app.AlarmManagerCompat.setExactAndAllowWhileIdle(AlarmManagerCompat.java:228) E/flutter ( 6849): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.zonedScheduleNotification(FlutterLocalNotificationsPlugin.java:452) E/flutter ( 6849): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.zonedSchedule(FlutterLocalNotificationsPlugin.java:1367) E/flutter ( 6849): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.onMethodCall(FlutterLocalNotificationsPlugin.java:1251) E/flutter ( 6849): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267) E/flutter ( 6849): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/flutter ( 6849): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) E/flutter ( 6849): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/flutter ( 6849): at android.os.Handler.handleCallback(Handler.java:958) E/flutter ( 6849): at android.os.Handler.dispatchMessage(Handler.java:99) E/flutter ( 6849): at android.os.Looper.loopOnce(Looper.java:205) E/flutter ( 6849): at android.os.Looper.loop(Looper.java:294) E/flutter ( 6849): at android.app.ActivityThread.main(ActivityThread.java:8177) E/flutter ( 6849): at java.lang.reflect.Method.invoke(Native Method) E/flutter ( 6849): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) E/flutter ( 6849): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) E/flutter ( 6849): Caused by: android.os.RemoteException: Remote stack trace: E/flutter ( 6849): at com.android.server.alarm.AlarmManagerService$5.set(AlarmManagerService.java:2981) E/flutter ( 6849): at android.app.IAlarmManager$Stub.onTransact(IAlarmManager.java:181) E/flutter ( 6849): at android.os.Binder.execTransactInternal(Binder.java:1339) E/flutter ( 6849): at android.os.Binder.execTransact(Binder.java:1275) E/flutter ( 6849): E/flutter ( 6849): ) E/flutter ( 6849): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:651:7) E/flutter ( 6849): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:322:18) E/flutter ( 6849): <asynchronous suspension> E/flutter ( 6849): #2 AndroidFlutterLocalNotificationsPlugin.zonedSchedule (package:flutter_local_notifications/src/platform_flutter_local_notifications.dart:155:5) E/flutter ( 6849): <asynchronous suspension> E/flutter ( 6849): #3 FlutterLocalNotificationsPlugin.zonedSchedule (package:flutter_local_notifications/src/flutter_local_notifications_plugin.dart:352:7) E/flutter ( 6849): <asynchronous suspension> E/flutter ( 6849):
2023년 12월 10일 09:54 #106377
codingapple키 마스터https://codingapple.com/forums/topic/local-notification-%ec%95%8c%eb%a6%bc-%ec%a3%bc%eb%8a%94-%eb%b2%95-%eb%b2%84%ea%b7%b8%ea%b4%80%eb%a0%a8-%ec%a7%88%eb%ac%b8-%ec%9e%85%eb%8b%88%eb%8b%a4/ 이거한번 따라해봅시다
2023년 12월 10일 19:46 #106430
이승연참가자따라했는데 제가 잘못한건가요? notification.dart와 오류 남깁니다 showNotification()이 아닌 showNotification2()가 안된다는 점 다시 한번 강조드립니다 import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_timezone/flutter_timezone.dart'; import 'package:timezone/data/latest_all.dart' as tz; import 'package:timezone/timezone.dart' as tz;
final notifications = FlutterLocalNotificationsPlugin(); //1. 앱로드시 실행할 기본설정 initNotification(context) async { //안드로이드용 아이콘파일 이름 var androidSetting = AndroidInitializationSettings('app_icon'); //ios에서 앱 로드시 유저에게 권한요청하려면 var iosSetting = IOSInitializationSettings( requestAlertPermission: true, requestBadgePermission: true, requestSoundPermission: true, ); var initializationSettings = InitializationSettings( android: androidSetting, iOS: iosSetting ); await notifications.initialize( initializationSettings, //알림 누를때 함수실행하고 싶으면 //onSelectNotification: 함수명추가 ); } //2. 이 함수 원하는 곳에서 실행하면 알림 뜸 showNotification() async { var androidDetails = AndroidNotificationDetails( '유니크한 알림 채널 ID', '알림종류 설명', priority: Priority.high, importance: Importance.max, color: Color.fromARGB(255, 255, 0, 0), ); var iosDetails = IOSNotificationDetails(); // 알림 id, 제목, 내용 맘대로 채우기 notifications.show( 1, '제목1', '내용1', NotificationDetails(android: androidDetails, iOS: iosDetails) ); }
showNotification2() async { var androidDetails = AndroidNotificationDetails( '유니크한 알림 채널 ID', '알림종류 설명', priority: Priority.high, importance: Importance.max, color: Color.fromARGB(255, 255, 0, 0), ); var iosDetails = IOSNotificationDetails(); // 알림 id, 제목, 내용 맘대로 채우기 notifications.zonedSchedule( 2, '제목2', '내용2', tz.TZDateTime.now(tz.local).add(Duration(seconds: 5)), NotificationDetails(android: androidDetails, iOS: iosDetails), androidAllowWhileIdle: true, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime ); }
------------------------------------------------------------------------------------------------- D/EGL_emulation( 8228): app_time_stats: avg=80.75ms min=9.00ms max=649.48ms count=17 E/flutter ( 8228): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: LateInitializationError: Field '_local@414310200' has not been initialized. E/flutter ( 8228): #0 _local (package:timezone/src/env.dart) E/flutter ( 8228): #1 local (package:timezone/src/env.dart:28:23) E/flutter ( 8228): #2 showNotification2 (package:instagram/notification.dart:61:28) E/flutter ( 8228): #3 _MyAppState.build.<anonymous closure> (package:instagram/main.dart:106:84) E/flutter ( 8228): #4 _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183:21) E/flutter ( 8228): #5 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24) E/flutter ( 8228): #6 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652:11) E/flutter ( 8228): #7 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309:5) E/flutter ( 8228): #8 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:242:7) E/flutter ( 8228): #9 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:630:9) E/flutter ( 8228): #10 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12) E/flutter ( 8228): #11 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9) E/flutter ( 8228): #12 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:633:13) E/flutter ( 8228): #13 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18) E/flutter ( 8228): #14 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7) E/flutter ( 8228): #15 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:488:19) E/flutter ( 8228): #16 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:468:22) E/flutter ( 8228): #17 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:439:11) E/flutter ( 8228): #18 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:413:7) E/flutter ( 8228): #19 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:376:5) E/flutter ( 8228): #20 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:323:7) E/flutter ( 8228): #21 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:292:9) E/flutter ( 8228): #22 _invoke1 (dart:ui/hooks.dart:328:13) E/flutter ( 8228): #23 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:410:7) E/flutter ( 8228): #24 _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31) E/flutter ( 8228): D/EGL_emulation( 8228): app_time_stats: avg=502.53ms min=86.28ms max=918.78ms count=2 D/ProfileInstaller( 8228): Installing profile for com.example.instagram
2023년 12월 11일 09:55 #106466
codingapple키 마스터https://github.com/dart-lang/sdk/issues/46259 main() 함수정의 안에 tz.initializeTimeZones(); 추가해봅시다
-
글쓴이글
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
- 답변은 로그인 후 가능합니다.