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

android - IntentServiceからトーストを作成するにはどうすればよいですか?画面に引っかかってしまう

IntentServiceにトーストメッセージを表示させようとしていますが、onHandleIntentメッセージから送信すると、トーストは表示されますが、スタックして画面が表示されたままになりません。onHandleIntentメソッドがメインサービススレッドで発生しないためだと思いますが、どうすれば移動できますか?

誰かがこの問題を抱えて解決しましたか?

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

android - IntentService はトーストを表示しません

私が作成したこの IntentService は、onStartCommand() と onDestroy() でトーストを表示しますが、onHandleIntent() では表示しません。IntentService の制限について何か不足していますか?

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

android - キューに関する情報をIntentServiceに要求する

Webサーバーに対して行う必要のあるWebサービス呼び出しをキューに入れるIntentServiceがあります。したがって、各インテントは、行われるWebサービス呼び出しです。

特定のデータを含むインテントがあるかどうかをアプリケーションがこのIntentServiceに要求できるように設定したいと思います(つまり、「クラウドにxデータを要求するのをすでに待っていますか?それとも、次のように指示する必要がありますか?やれ?")。

これを行うためにIntentServiceを拡張する方法について何か提案はありますか?IntentServiceのインテントキューをトラバースできますか?または、IntentServiceコードを取得して変更する必要がありますか?

私が持っている他の唯一のアイデアは、データベースにテーブルを追加し、キューにある呼び出しをログに記録することです。各ログは、完了するとテーブルから削除されます。

0 投票する
5 に答える
25715 参照

android - Android で背景画像をダウンロードする際にヘルプが必要ですか?

私は画像ビューを持っています、私はスワイプを書いていました、そのスワイプの時点で、画像はインターネットからダウンロードされているので、スワイプする前にバックグラウンドで画像をダウンロードする必要があると思いました. IntentService、これらはすべて data/data/mypackages にダウンロードして保存するのに役立ちますが、私の場合はスワイプが遅くなり、どのアイデアが最適かを教えてくれます。正しい方法で呼び出していますか

1.非同期タスク

2. サービス

3.以下に示すインテントサービス、

まだ私の問題が解決されていないため、どちらが正しい方法であるか混乱しています

asynctask コード サンプル スニペットは次のとおりです。

}

非同期タスク コード

これが私のサービスのシンペットです

これがIntentServiceコードです

MyActivity から IntentService を呼び出す

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

android - Android Intentservice キューをまがる方法は?

ダウンロードボタンのあるアクティビティがあります。それをクリックすると、サービスが開始されます。サービスは通知を作成し、通知バーに投稿します。通知の詳細を表示すると、ダウンロード ステータスを示す進行状況バーが表示されます。

サービスがメイン スレッドで実行されることを知らなかったので、ワーカー スレッドを単独で作成するインテントサービスを使用するように提案されました。SO すべて問題なく、ダウンロード中に GUI がフリーズしません。

問題が 1 つあります。インテントサービスを使用するには、メソッド onHandleIntent 内にダウンロード コードと通知部分を実装する必要がありました。今、インテントサービスには、インテントを一度に管理する一種のキューがあることがわかりました。SOアクティビティからダウンロードボタンを2回クリックすると、新しい通知が作成され、ダウンロードが開始され、終了するとonHandleIntentが再び入力され、2番目の通知が作成され、2番目のダウンロードが開始されます。私にとっては、ファイルを一緒にダウンロードするのではなく、連続してダウンロードしても問題ありませんが、少なくともダウンロードボタンを2回押すと、2つのダウンロードが待っているという通知がアップロードされることを望みます。インテントサービスがコードを1回と2回実行するため、それを行うことができません........修正する方法はありますか?

手動でキューを処理する方法はありますか....別のインテントを取得した場合は、これを行います........通知を更新し、最初のダウンロードを続行します... .

もう 1 つの質問ですが、別のスレッドで動作していることを考慮してインテント サービスで GUI を変更できますか、それともハンドラーを使用してアクティビティにメッセージを送り返す必要がありますか?

そして最後に、onCreated メソッドの直後または onHandleIntent 内でスレッドが作成されたのはどこですか?

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

android - ProgressDialogで実行されたAsyncTaskを待ちます

データを取得するメソッドpublic void writeEntry(Activity ctx, Entry entry)があり、ネイティブメソッドを呼び出す必要がありますが、終了に時間がかかります。
そこで、 ProgressDialogとネイティブメソッドを処理するAsyncTaskを作成しました。それをテストするための独自のアクティビティでうまく機能します。そのアクティビティでは、コールバックインターフェイスなどを使用しました。

私の場合、上記のメソッドがあり、AsyncTaskを実行する必要があります。それ以上の実行を停止しないため、実行をそのメソッドに含めることはできません。
実行を続行する前に、ネイティブメソッドの結果が必要です。AsyncTask
が終了するまで 待つ可能性はありますか?UIスレッドも待機するため、このメソッドはオプションではありません。そのため、ProgressDialogの意味が失われます。wait()

指定されたパラメーターのメソッドを使用できますか、それとも独自のアクティビティrunOnUiThread()を開始する唯一のソリューションですか?

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

android - ServiceとIntentServiceの場所の問題

私のアプリでは、ユーザーが位置情報の更新を要求します。これが発生すると、メインアクティビティはロケーションリクエストを開始するサービスを開始します。

私の問題は、サービスが開始された場合、たとえば2分間に3回開始された場合、正しく動作しないことです。

したがって、基本的には、現在の開始が完全に終了するまで開始要求を保留にするサービスが必要です。

サービスが開始されるたびに、サービスが完了するまでに最大10分かかる場合があり、サービスは、渡されたインテントデータに基づいて、各開始リクエストに異なる方法で応答します。

2分間に発生した3つの開始リクエストごとに1つのロケーションリクエストがあることを嬉しく思います(実際には好まれます)が、インテントデータは3つのスタートリクエストのそれぞれとは異なる場合があります。

そこで、IntentServiceを使用してこれを克服し、3つのリクエストすべてを一度に1つずつ処理しようとしましたが、

は呼び出されません。これは、onHandleIntent(...)がほぼ即座に終了し、基本的にロケーションリクエストに応答する時間を与えていないことが原因である可能性が高いことを理解しています。7分(テストでは3分)後にロケーションリクエストを停止するハンドラーがあります。その後、ロケーション情報が他のメソッドに渡され、UIの更新がユーザーに返されます。UIの更新が返されます。場所の更新が失敗するため、UIの更新はnullになります。

IntentServiceでonHandleIntentを使用してサービスを開始し、インテントデータを渡すことができると思いますが、それは本当に悪い習慣のようであり、おそらくそれを行うためのより良い方法があります。 編集: onHandleIntentはとにかく私のlocationServiceをすぐに開始するので、それは間違いなく機能しません。したがって、待機期間はありません。

また、onHandleIntent内で呼び出されたトーストはまったく表示されませんが、onCreate()からのすべてが正常に機能します。

私はこれに対する答えを見つけるのに本当に苦労しています、そしてどんな助けも大いにありがたいです。これが私のコードの要点です:

また、ロケーションリスナーはonCreate()内でインスタンス化されます。

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

android - IntentService と AlarmManager

重複の可能性:
Android RuntimeException: サービスをインスタンス化できません

AlarmManager から IntentService を開始する方法が見つかりません。通常のサービスは簡単です (マニフェストに追加してから Intent にラップします) が、IntentService で動作させることはできません - アプリは "java.lang.RuntimeException: サービスをインスタンス化できません" でクラッシュし続けます。IntentService 自体に問題はありません (1 行のコード)。何か助けはありますか?

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

android - 特定のアクティビティのみにブロードキャストを送信する

メソッドでIntentFilterを使用してBroadcastReceiverを作成するアクティビティが 1 つあります。 onCreate(...)

反対側にはIntentServiceがあり、いくつかのデータを送信します。

しかし、うまくいかないようです。ブロードキャストは受信されません。
私のサービス クラスは Android ライブラリにあります。おそらくこれが問題になります。

アドバイスをありがとう。

0 投票する
0 に答える
483 参照

android - Android intentService、キュー内の次のタスクにスキップする方法は?

インテントサービスを呼び出すアクティビティがあります。

intentServiceはbackgrounfのインターネットからファイルをダウンロードしますが、特定のダウンロードを中止できるようにしたいです.........

それで、私が5つのファイルをキューに入れたとしましょう:ファイル1、2、3、4、5

インテントサービスは番号1のダウンロードを開始します。インテントサービスに、メソッドハンドルイベント(この場合はファイル1のダウンロード)で現在実行していることを中止し、次のイベントのダウンロードを開始するように指示する方法はありますか?

キューから要素を削除することは可能ですか?たとえば、ファイル1をダウンロードしているときに、ファイル4をキューから削除して、番号3の後に5に直接移動するようにしますか?

Tnx