teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

情報の追加

2018/11/20 04:35

投稿

giwagiwagiwa
giwagiwagiwa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,9 @@
1
1
  Monaca + Ionic を使用してアプリ開発を行っています。
2
- cordova-plugin-local-notifications使用してローカル通知を表示して
2
+ iBeaconの電波受信してローカル通知を表示⇒ローカル通知をタップすると
3
- 通知をタップすると特定の画面を表示させるという風に考えてす。
3
+ 専用の画面に遷移させるというような機能を実装したす。
4
4
 
5
+ ローカル通知にはcordova-plugin-local-notificationsを使用しています。
6
+
5
7
  通知自体は表示することができるのですが
6
8
  通知タップ後の画面遷移先の指定方法がわかりません。
7
9
 
@@ -26,4 +28,31 @@
26
28
  こちらの質問と類似していますが
27
29
  ローカル通知のプラグイン(cordova-plugin-local-notifications)
28
30
  でも実現可能なのでしょうか。
29
- [https://teratail.com/questions/100237](https://teratail.com/questions/100237)
31
+ [https://teratail.com/questions/100237](https://teratail.com/questions/100237)
32
+
33
+ 追記=====================================
34
+
35
+ devicereadyからcordova.plugins.notification.local.launchDetails
36
+ の値を参照すれば通知から起動されたかは判断できるということがわかりました。
37
+ ただ、アプリ起動中(バックグラウンド・フォアグラウンド)にローカル通知をタップしてもこの判定は動かないので困っています。。。
38
+ アプリが起動していないとiBeaconの電波受信もできずローカル通知自体が来ないです。
39
+ 通知が来た状態でアプリのプロセスをキルし、通知からアプリ起動すると以下のプログラムで動作しました。
40
+ ```Js
41
+ function onLoad() {
42
+ console.log('onLoad');
43
+ window.skipLocalNotificationReady = true;
44
+
45
+ document.addEventListener("deviceready", onDeviceReady, false);
46
+ }
47
+
48
+ function onDeviceReady() {
49
+ //通知から起動してきたかを判定
50
+ cordova.plugins.notification.local.fireQueuedEvents();
51
+ console.log('launchDetails-notification:'+cordova.plugins.notification.local.launchDetails);
52
+ var launchDetails = cordova.plugins.notification.local.launchDetails
53
+ if(launchDetails){
54
+ $('#LaunchMsg').text('LaunchApp from notification');
55
+ }
56
+ }
57
+ ```
58
+ 何か良い方法はないでしょうか。