[解決済み] サービス開始のためのAndroid onCreateまたはonStartCommand
質問
通常、Androidサービスを作成する場合、私は
onCreate
メソッドを実装しますが、私の最後のプロジェクトではこれがうまくいきません。私は
onStartCommand
を実装してみましたが、これは動作するようです。
問題は、私がサービスを実装しなければならないとき、どのメソッドが必要なのか?どのメソッドを実装しなければならないのでしょうか?
onCreate
,
onStartCommand
それとも両方?また、それぞれの役割は何ですか?
どのように解決するのですか?
onCreate()
が呼び出されたとき
Service
オブジェクトがインスタンス化されたとき (つまり、サービスが
作成された
). このメソッドでは、一度だけ行う必要のあること(例えば、いくつかの変数の初期化など)を行う必要があります。
onCreate()
は一度だけ呼ばれます。
インスタンス化されたオブジェクトごとに
.
実装する必要があるのは
onCreate()
を実装する必要があります。
一度だけ
.
onStartCommand()
というのは
毎回
を使ってサービスを開始します。
startService(Intent intent)
. これはつまり
onStartCommand()
は複数回呼び出される可能性があるということです。このメソッドで必要なことは
その都度
クライアントがあなたのサービスに何かを要求するたびに。これはあなたのサービスが何をするのか、そしてどのようにクライアントと通信するのか(そしてその逆も)に大きく依存します。
もしあなたが
onStartCommand()
を実装していない場合、その情報は
Intent
に渡す情報を得ることができません。
onStartCommand()
に渡され、あなたのサービスは有用な作業をすることができないかもしれません。
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] Androidでサービスが稼働しているかどうかを確認する方法を教えてください。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 「KotlinとAndroidで「パラメータTを推測するのに十分な情報がありません。
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] google-services.jsonって実際何してるの?
-
[解決済み] Travis.yml ./gradlew : パーミッションが拒否されました。
-
[解決済み] 文字列リソースにHTML?