回答編集履歴

3

強調追加

2021/11/13 05:41

投稿

jimbe
jimbe

スコア12670

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- > Android O(API 26)以上のバージョンでNotificationを登録する前に、Notificaiton Channelを登録する必要があります。
29
+ > Android O(API 26)以上のバージョンでNotificationを登録する前に、**Notificaiton Channelを登録する必要**があります。
30
30
 
31
31
 
32
32
 

2

引用追加

2021/11/13 05:41

投稿

jimbe
jimbe

スコア12670

test CHANGED
@@ -1,6 +1,6 @@
1
- テストしていませんので見た目だけですが、 ANR で did not then call Service.startForeground() ですので、 Thread.sleep(1000) がいけないのではないでしょうか。
1
+ ~~テストしていませんので見た目だけですが、 ANR で did not then call Service.startForeground() ですので、 Thread.sleep(1000) がいけないのではないでしょうか。
2
2
 
3
- onStartCommand() は時間のかかる処理はしてはいけないと思います。
3
+ onStartCommand() は時間のかかる処理はしてはいけないと思います。~~
4
4
 
5
5
 
6
6
 
@@ -11,3 +11,23 @@
11
11
  メッセージの部分はさておき、まずは以下等は如何でしょうか。
12
12
 
13
13
  [Android - Foreground Service実行](https://codechacha.com/ja/android-start-foreground-service/)
14
+
15
+
16
+
17
+ > startForegroundService()でNotification登録
18
+
19
+ startForegroundService()でサービスが実行されると、実行されたサービスは、5秒以内に startForeground()を呼び出して、サービスが実行中であるNotificaitonを登録する必要があります。もし呼び出さない場合、システムはサービスを強制的に終了させます。
20
+
21
+
22
+
23
+ > Service.startForeground()は次のように Notificaiton IDとNotificaitonオブジェクトを引数として受け取ります。 注意すべき点は、**IDで0を渡すと、動作がない**ということです。 0以外の数字をIDで渡す必要があります。
24
+
25
+
26
+
27
+
28
+
29
+ > Android O(API 26)以上のバージョンでNotificationを登録する前に、Notificaiton Channelを登録する必要があります。
30
+
31
+
32
+
33
+ といった記述があります。

1

サービスについてのリンクを追加

2021/11/13 05:32

投稿

jimbe
jimbe

スコア12670

test CHANGED
@@ -1,3 +1,13 @@
1
1
  テストしていませんので見た目だけですが、 ANR で did not then call Service.startForeground() ですので、 Thread.sleep(1000) がいけないのではないでしょうか。
2
2
 
3
3
  onStartCommand() は時間のかかる処理はしてはいけないと思います。
4
+
5
+
6
+
7
+ ----
8
+
9
+
10
+
11
+ メッセージの部分はさておき、まずは以下等は如何でしょうか。
12
+
13
+ [Android - Foreground Service実行](https://codechacha.com/ja/android-start-foreground-service/)