問題タブ [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 投票する
7 に答える
128198 参照

java - Android-起動時にサービスを開始

Stack Exchangeやその他の場所で見たすべてのものから、AndroidOSの起動時にIntentServiceを開始するようにすべてが正しく設定されています。残念ながら、起動時に起動せず、エラーも発生しません。多分専門家は助けることができます...

マニフェスト:

スタートアップ用のBroadcastReceiver:

更新:以下の提案のほぼすべてを試しLog.v("BatteryLogger", "Got to onReceive, about to start service");、StartupIntentReceiverのonReceiveハンドラーなどにログを追加しましたが、何もログに記録されません。したがって、BroadcastReceiverには到達していません。

EclipseでDebugを実行するだけで、APKをデプロイして正しくテストしていると思います。コンソールは、APKを\ BatteryLogger \ bin\BatteryLogger.apkにあるXoomタブレットに正常にインストールすると表示します。次に、テストするために、タブレットを再起動してから、DDMSのログを確認し、OS設定で実行中のサービスを確認します。これはすべて正しいように聞こえますか、それとも何かが足りませんか?繰り返しになりますが、どんな助けでも大歓迎です。

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

android - IntentService から情報を収集して Android UI を更新する方法

私は Android を学習していますが、自分のサービスに行き詰まっています。

私のアプリケーションは、ソケットを介して X 秒ごとにサーバーに接続し、XML を受信し、情報を解析して TextView に表示します。

これを行うために IntenService を実装する方法と、情報を UI に伝える方法を知りたいです。良い例を見るのは非常に難しいと思います。

あなたが私に与えることができるどんな助けにも感謝します.

ありがとうございました!

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

android - IntentServiceのキューにアクセスする方法は?

いくつかのアップロードプロセスをIntentServiceのキューに入れるアクティビティがあります。ここで、保留中および開始済みのアップロードのリストと、アップロードを停止するためのボタンを表示したいと思います。

この質問に基づいて、キューに関する情報をIntentServiceに尋ねると、外部キューの実装を開始しましたが、これまでのところ、特定のタスクを停止する方法がわかりません。

IntentServiceのキューを管理するためのより良い方法はありますか?

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

android - インターバルでインテントを送信

ユーザーが指定した特定の間隔でインテントを IntentService に渡したいと思います。

AlarmManager の使用を検討していますが、アプリが実行されていない場合にインテントを起動する必要はありません。そして、私が読んだことによると、AlarmManagerはアプリを起動します。

もう 1 つのオプションは、Timer を使用してメソッドを実行することです。Application クラスを拡張し、IntentService にインテントを送信するタイマーを持つことは可能ですか、それとも不適切な解決策ですか。

アドバイスありがとうございます:)

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

android - 放送受信機はどこに登録すればいいですか?

Bluetoothを使用して近くのペアリングされたデバイスに自動的に接続するアプリケーションを開発しています。そのため、ACTION_FOUND、DISCOVERY_FINISHEDなどのBluetooth固有のブロードキャストを聞く必要があります。これらのブロードキャストをリッスンし、それに応じてアクションを実行するブロードキャストレシーバーを登録する必要があります。このブロードキャストレシーバーは、アプリのバックグラウンドでいつでも機能する必要があります。私はそれをインテントサービスに適合させようとしましたが、それは速く終了し、onDestroyは私の受信機を終了すると呼ばれることがわかりました。この問題を克服するために、属性がtrueからfalseに変わったときにのみ中断する無限ループを挿入しました。どういうわけか、これは悪い習慣だと感じているので、もっと良い解決策があるかどうか尋ねています。

PS。レシーバーをメインアクティビティに合わせる必要がありますか?そして、それはいつ破壊されますか?onDestroyは、戻るボタンでアプリケーションを終了したとき、またはタスクキラーでプロセスを強制終了したときにのみ呼び出されますか、それともアプリで別のGUIウィンドウに入ったときにも発生しますか?

ありがとう、マイク

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

android - AndroidIntentServiceと状態

私はIntentServiceが大好きで、サービスを作成する必要があるときはいつでもそれを使用しようとしています。

ただし、アプリケーションの起動時に、少なくとも1回は長いタスク(約4秒)を実行する必要があります。タスクは、rawリソース(証明書)をロードし、それをすべてのWebサービス呼び出しに使用することです。現在、Webサービス呼び出しが行われるたびにロードしていますが、これは明らかに実際の解決策ではありません。

IntentServiceはステートレスであるため、リクエスト間で証明書を保持できません。「通常の」サービスを作成し、ライフサイクルを慎重に実装して、証明書をいつ(再)ロードする必要があるかを確認する以外に、私のオプションは何ですか。

ありがとう。

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

android - startForeground()を呼び出したにもかかわらず、Androidサービスが開始直後に強制終了されました

IntentServiceに問題があります。サービスを開始するたびに、サービスがアイドル状態になるとすぐにonDestroy()メソッドが呼び出されます。フォアグラウンドで実行するようにサービスを設定しましたが、それにもかかわらず、サービスはすぐに強制終了されます。アプリケーションには他に1つのアクティビティしかなく、stopService()を呼び出していません。

開発者向けドキュメントを読むと、startForeground()を呼び出すと、メモリの需要が非常に高い場合を除いて、アイドル状態でもサービスを維持できるという印象を受けます。または、これを間違って読んでいますか?

以下の私のコード:

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

android - Intent Service からの LVL ライセンス チェック

Android マーケットでアプリのプロ キーを購入すると、ユーザーが利用できるプロ機能も含まれる無料のアプリがあります。プロキー アプリに受信機を設定し、メイン アプリに別の受信機を設定しました。ユーザーがメイン アプリの [Validate key] ボタンをクリックすると、インテントがキー アプリの受信側にブロードキャストされ、受信側が IntentService を起動して、プロ キー ライセンスが有効かどうかを確認します。次に、IntentService は、LVL チェックからの「応答」エクストラを含むインテントをメイン アプリ レシーバーにブロードキャストします。

私はほとんどそこにいます。IntentService で LVL チェックを実行しようとしたときにのみ、エラーが発生しました。

助言がありますか?

IntentService ソース:

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

android - Android-サービスインテント(ワーカースレッド)内で「ハンドラー」を介して定期的にタスクを実行する方法

私の質問はAndroidに関連しています:intentservice内で20秒ごとにタスクを実行するにはどうすればよいですか?問題は、ハンドラーの「実行」プロセスで使用されるいくつかのクラスを初期化する必要があることです。1回だけ動作しますが、20秒後にハンドラーループが再開すると、サービスが停止し、アプリケーションがクラッシュします(おそらく、サービスの停止時にクラスが削除されたためですか?)。したがって、解決策は、ハンドラーが実行されている限りサービスを実行し続けること、またはコードを破棄して正しく実行することです。

誰かが私を助けてくれることを願っています。

事前にどうもありがとうございました!!!

----これが更新されたコードです(2011年11月14日)

}

アプリケーション全体がすぐにクラッシュします。

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

android - インテントサービスのためにキューに入れられたすべての保留中のインテントをキャンセルするにはどうすればよいですか?

ユーザーとアプリによって自動的にキューに入れられるintentserviceがあります。ユーザーがアプリケーションからログアウトしたときにキューに入れられたすべての保留中のインテントを強制終了できるようにする必要がありますが、それを機能させることができないようです。stopService()とstopself()を試しましたが、ユーザーがログアウトした後もインテントはintentserviceを起動し続けます。インテントのIDを取得しようとしますが、インテントサービスが開始されるたびに、インテントIDを保持する変数が空になるため、これは困難です。これが私のintentserviceコードです: