質問編集履歴

1

本筋の目的はBroadcastReceiverを使わずに達成できそうだということがわかったのでその旨を追記

2023/03/12 11:55

投稿

inzs
inzs

スコア17

test CHANGED
File without changes
test CHANGED
@@ -168,5 +168,16 @@
168
168
  ・[ブロードキャストの概要 | Android デベロッパー | Android developers](https://developer.android.google.cn/guide/components/broadcasts?hl=ja)
169
169
  ・[インテントとインテント フィルタ | Android デベロッパー | Android developers](https://developer.android.google.cn/guide/components/intents-filters?hl=ja#PendingIntent)
170
170
 
171
+ ### 追記(3/12)
172
+ よく考えたら「最終的な目的」であるServiceの進捗をキャンセルさせるというだけなら、BroadcastReceiverを介するほうが難してく、自身のServiceに向けてIntentを送ったほうが簡単に実現できることがわかりました。
171
173
 
174
+ ですが、疑問は疑問としてあるので質問はそのままにしておきます。
172
175
 
176
+ 実際のアプリのService内のコード
177
+ ```Kotlin
178
+ val cancelActionIntent = Intent(this, DownloadService::class.java).apply {
179
+ action = ACTION_CANCEL
180
+ }
181
+ val cancelPendingIntent =
182
+ PendingIntent.getService(this, 0, cancelActionIntent, 0)
183
+ ```