問題タブ [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.
android - チタンのandroid onHandleIntent()に相当するものは何ですか
android用のtitaniumに同等のAPIはありますonHandleIntent()
か?
android - Androidでのサービス、Web、アクティビティ間の通信
私はSOに関するほとんどの質問と回答を読みましたが、私の場合、どちらに進むべきかまだわからないと言わざるを得ません。いくつかの方法がありますが、どちらが私の場合に最も適しているかを実際に判断することはできません。
私が持っているもの
アプリから開始するサービスがあります。ユーザーの現在の場所を確認し、読み取り場所を使用してWebサービスを呼び出します。これはxメートルごとに発生します。
入手したいもの
- 地図を使ってアクティビティを行い、サービスからの現在地の読み取り値を表示します。これは、私のアクティビティが読み取られた場所ごとに通知される必要があることを意味します。これはユーザーがアクティビティを開始したときにのみ使用されるため、サービスから各場所をブロードキャストすることは良い考えではないと思います。
- サービスに最後に読み取った場所を尋ねることができるアクティビティ。
- 前に述べたように、サービスは場所を読み取り、数秒ごとにWebサーバーに送信する必要があります。このための最良のアプローチは何でしょうか?インサービスでは、Webサービス呼び出しごとに新しいThread()を作成しますか?AsyncTaskを使用しますか?Webサービスからアクティビティを開始する必要がある場合など、応答としていくつかの追加の値を受け取ることがあります。
そうは言っても、私に何を使うことをお勧めしますか?これは良いアプローチでしょうか:例:メッセージングを使用したアクティビティとサービス間の通信?
LE:Webサービスにデータを送信するために、IntentServiceから単純なサービス+スレッドに切り替えました。私のIntentServiceの実装が開始され、すぐに破棄されました。おそらく私は何か間違ったことをしました...
android - File Observer がインテント サービスから動作しない
抽象ファイル オブザーバー クラスを拡張する優れたクラスを見つけました...
次のように、IntentService の onCreate でこれらのオブザーバーを 3 つ作成します。
オブザーバーが機能していないだけでなく、mkdir 関数も機能していません。
何か案は?ありがとう!
android - IntentService の onStartCommand(..) メソッドはスレッドセーフですか?
複雑なアプリケーションのさまざまな場所 (アクティビティ、バックグラウンド スレッド、その他のサービス) から開始できるIntentServiceクラスがあります。サービスが呼び出された回数のカウンターを保持したいと思います。IntentService クラス内でプライベート int 変数を使用してそれを追跡し、onStartCommand(...)メソッドからインクリメントします。
onStartCommand(...) メソッドはさまざまな非同期スレッドから呼び出すことができるため、これはスレッドセーフなソリューションではない可能性があることに気付きました。問題は、このカウンター変数へのアクセスを同期ブロックでラップする必要があるのか、それとも onStartCommand(...) の IntentService 実装がこれを処理するのかということです。
注意として、変数をonHandleIntent(...)から安全にインクリメントできることはわかっていますが、実行されたインテントではなく、実際のリクエストをカウントする必要があります。
android - IntentService を開始できないのはなぜですか?
比較的単純なコードが 2 つあります。1 つのメイン アクティビティと 1 つのインテント サービス。
主な活動
インテント サービス
ログキャットは言う
これを修正するにはどうすればよいですか?
android - onHandleIntent() が呼び出されませんでしたか?
私は2つのファイルを持っています。
IntentServiceTest1Activity.java
SimpleIntentService.java
Log.d() を介して、サービスが開始されたにもかかわらず、onHandleIntent が呼び出されていないことがわかります。私の Log.d トレイルは startService(msgIntent); の後に続きます。そこで止まります。onHandleIntent 内からの Log.d は表示されませんでした。なにが問題ですか?そして、それを機能させるにはどうすればよいですか?
ありがとう!
android - アクティビティのキャンセルボタンで IntentService を強制的に停止するにはどうすればよいですか?
アクティビティから開始された IntentService があり、アクティビティの「キャンセル」ボタンを使用して、アクティビティからすぐにサービスを停止できるようにしたいと考えています。その「キャンセル」ボタンが押されるとすぐに、サービスがコード行の実行を停止するようにします。
これに似た質問がいくつか見つかりました (つまり、 here、here、here、here ) が、適切な回答はありません。 メソッドをすぐに実行しますが、サービスを破棄する前にコードを完全にActivity.stopService()
終了Service.stopSelf()
させます。Service.onDestroy()
onHandleIntent()
サービスのスレッドをすぐに終了する保証された方法は明らかにないため、私が見つけることができる唯一の推奨される解決策 ( here ) は、メソッドで切り替えることができるサービスにブール値のメンバー変数を持ち、onDestroy()
ほぼすべての行を持つことです。コードはonHandleIntent()
、その変数を参照する独自の「if」句にラップされています。それはコードを書くためのひどい方法です。
IntentService でこれを行うためのより良い方法を知っている人はいますか?
android - Android での IntentService の複数のインスタンス
上記のコードを使用して、30 秒ごとに IntentService を実行しています。場合によっては、サービス プロセスに 30 秒以上かかることがあるため、前のプロセスが完了する前に別のプロセスを開始する必要があります。その場合、前のものがどうなるか知りたいです。保留ですか?2 つ目は前のものが終了するのを待ちますか?
2 番目の質問は、お互いに待たせたくないということです。2 つのサービスを同時に実行したい。したがって、前のサービスが何をしているかに関係なく、次のサービスを開始する必要があります。上記のコードはこれを達成する正しい方法ですか?
android - adb でのインテントサービスの開始に失敗する
adb で IntentService を開始しようとすると、次のエラーが表示されます
通常のサービス ovre adb を開始すると、すべて正常に動作します。
adb経由でintentserviceを開始できない理由は何ですか?
}
よろしくサイモン