問題タブ [intentservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
547 参照

android - Androidデザイン:3つの異なるデバイスを監視するためにバックグラウンドで3つの異なるスレッドを実行する方法

Androidフォンから3台のBluetoothデバイスのステータスを監視したいアプリケーションがあります。このために、各デバイスにデータを送信し、5秒ごとに応答が正しいかどうかを確認する必要があります。そして、アプリケーションがフォアグラウンドにない場合でも、この処理を実行したいと思います。いろいろな解決策を考えましたが、良い解決策は思いつきませんでした。

  • IntentServiceを使うことを考えました。ただし、IntentServiceは、すべての処理を実行するために1つのスレッドを使用します。ただし、すべてのチェック間の5秒は短く、1つのスレッドでデバイスをチェックすることはできないため、3つの異なるスレッドが必要です。

  • 3つの異なるIntentServicesを使用することを考えました。しかし、それが最善の方法であるかどうかはわかりませんか?

  • サービスを使用して、デバイスごとに1つずつ、3つのスレッドを生成することを考えました。しかし、アプリがフォアグラウンドにないときにこれらのスレッドが実行されるかどうかはわかりませんでした。

    アプリがフォアグラウンドになく、3つの異なるスレッドを実行する必要がある場合でも、アプリでバックグラウンド処理を行うこの種のアプリを実行するための最良の設計は何でしょうか。

0 投票する
2 に答える
123 参照

android - Service からのメモリ モデルの更新

新しいパッケージ (アプリの新しいアイテム) をダウンロードする IntentService を作成する予定です。私の唯一の問題は、ダウンロードの終了をブロードキャストするときに、アプリが実行されている場合、メモリ モデルを更新する必要があることです。実行されていない場合、アプリは起動時に DB からメモリ モデルを作成するため、何もする必要はありません。パフォーマンスに関しては、UI はデータベースではなくメモリから動作します。どのようにアプローチすればよいか、または完全に間違った方向に進んでいますか?

編集:明確にするために:DBに新しい行を挿入し、MyBroadcastReceiverによって受信されるBroadcastIntentを起動するMyIntentServiceがあるとしましょう。今私が直面している問題は、MyBroadcastReceiver のインスタンスが何らかの形でモデル クラス (シングルトン) に通知する必要があることです。問題は、このモデル (シングルトン) インスタンスは、アプリが実行されている場合にのみ使用できることです。これは、UI のみによって消費されるためです (DB のみを使用すると速度が低下します)。使用する UI がない場合、Model インスタンスに通知する必要はありません。モデルはいつでも開始されるため、BroadcastReceiver にすることはできず、シングルトンにすることもできません (私の知る限り)。

0 投票する
4 に答える
9602 参照

android - IntentService は無期限に実行できますか?

私の理解に基づいて、現在のリクエストが完了すると IntentService が停止します。

以下のシナリオを考えてみましょう。100 ミリ秒ごとに IntentService へのリクエストをトリガーし、そのリクエストの処理時間は 90 ミリ秒になります。

したがって、すべてのリクエスト - startSerivce 呼び出しに対して、サービスが呼び出され、90 ミリ秒後 (処理が完了すると)、IntentServicee の onDestroy が呼び出されます。

停止と言うまで、この IntentServicee を実行したいと思います。それは可能ですか?

私のサービスで以下を行うと仮定します

  1. 設定してください
  2. リクエストを送る
  3. 応答を待つ
  4. 応答を読む
  5. 呼び出したアクティビティにブロードキャストする

ステップ1は私のすべてのリクエストに共通しているので、サービスが最初に1回開始されたときにそれらを実行し、リクエストに基づいてHandleIntentで3〜6を実行できると思いました。

0 投票する
3 に答える
4790 参照

android - IntentService : 正しくエンキューするには?

私のコードでは、IntentService位置の更新 (GPS またはネットワークの更新) をリッスンするために を使用しています。これIntentServiceは、イベントを受信したときにトリガーされるためstartService()、任意のアクティビティから開始されます。

今私の問題は次のとおりです。2つのイベントがこれIntentServiceを開始し、最初のイベントがまだ更新を要求している間に2番目のイベントが開始した場合、2番目のイベントは最初のイベントが完全に終了するまで待機するようにします(場所が見つかるか、タイマースレッドが終了します)。ただし、IntentServiceが 2 回目に実行される (最初のインスタンスがまだ実行されている) ときはいつでも、ログが出力され、並行して実行されていたように実行されます。

ただし、主な目標はIntentServiceそれがシーケンシャルなものであるため、最初の意図が完了するまで2番目の意図を待たなければならないと思いました...

私は何かを誤解しましたか?

0 投票する
2 に答える
5025 参照

android - Service(IntentService)とActivityから実行されるAsyncTask-違いはありますか?

AsyncSyncがActivityまたはIntentServiceから起動されることに違いはありますか?

http経由でファイルをダウンロードおよびアップロードするアプリを作成しています。転送ごとにプログレスバー付きのカスタム通知レイアウトを使用します。転送を並行して実行するか、キューに入れるかを選択します(どちらのオプションをお勧めしますか?)。

キューのあるオプションでは、IntentServiceを使用しているため、Androidフレームワークがタスクをキューに入れてくれます。それらを並列にするために、私はAsyncTasksを使用します。しかし、私はそれらをIntentServiceから起動します(Serviceの場合もあります)-そうする意味はありますか?IntentServiceは、AsyncTaskを実行した直後に終了するため、AsyncTaskは「親」なしで実行されます。

アクティビティからこれらのAsyncTaskを起動した場合、ホーム画面に移動し、システムがこのアクティビティを閉じることを決定した場合はどうなりますか?それはできますか?AsyncTaskはそれを乗り切りますか?

この場合の好ましいアプローチは何でしょうか?

0 投票する
4 に答える
5408 参照

android - IntentServiceが開始されたかどうかを確認する方法

アクティビティが正常に開始されたかどうかを知りたいのですがIntentService

IntentServiceビアをバインドしbindService()て実行を継続することは可能であるため、おそらく、呼び出しによってサービスオブジェクトstartService(intent)の呼び出しonStartCommand(..)またはonHandleIntent(..)サービスオブジェクトの呼び出しが発生するかどうかを確認することをお勧めします。

しかし、どうすればアクティビティでそれを確認できますか?

0 投票する
2 に答える
83199 参照

android - Android マニフェストでインテント サービスを宣言するにはどうすればよいですか?

率直な質問:

Android マニフェストで IntentService が通常のサービスとして宣言されていますか、それとも別の方法がありますか? それを検索しようとしましたが、答えが見つかりませんでした。

通常の Service 宣言は次のとおりです。

ありがとう

0 投票する
3 に答える
4003 参照

android - IntentService の停止

作業スレッドを終了してそれ自体を停止せずに IntentService を停止する方法があるかどうかは誰にもわかりますか?

簡単な質問ですが、ドキュメントに答えが見つかりませんでした。それを止める簡単な方法はありますか?

ありがとう

0 投票する
3 に答える
14678 参照

android - IntentServiceまたはAsyncTaskからRESTAPI呼び出しを行いますか?

アクティビティが開き、コンテンツを取得するためにREST HTTP APIを呼び出す必要があり、受信するとUIが更新されるという典型的なシナリオを想像してみてください。明らかに、API呼び出しは別のスレッドで実行する必要がありますが、AsyncTask、IntentService、または別のアプローチを使用して実行する必要があります。その理由は何ですか。

0 投票する
1 に答える
1806 参照

android - LocationListener サービスの停止に関する問題

LocationListener を実装する IntentService があります。アプリケーションの実行中に実行され、アプリケーションを閉じると破棄されます。その onHandleIntent メソッドで LocationManager を取得し、サービス フォームの場所の更新を登録します。その onDestroy メソッドで、次のように呼び出します。

ただし、これにより NullPointerException が発生することがあります。

その行を削除すると、NullPointerException はなくなりますが、アプリケーションを閉じても LocationListener は停止しません。これを修正する方法はありますか?