問題タブ [android-service-binding]

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 投票する
1 に答える
621 参照

android - Android: bindService が常に false を返す (拡張 APK API)

Google の APK Expansion 拡張機能を使用して、ホストしている拡張ファイルをダウンロードしようとしています。これを行うために、SampleDownloadActivity のコードも使用していますが、アプリに合わせて少し変更しています。

私の問題は、ダウンロードが開始されないことです。IDownloadClient を実装する私のクラスでは、onStart() が呼び出されますが、onServiceConnected() は呼び出されません。

これを DownloaderClientMarshaller の次の行までたどりました。

これは常に false を返すため、サービスはバインドされません。

TabHost 内で呼び出しアクティビティを使用しているため、他の人に問題が発生しています。彼らは、アプリケーション コンテキストを接続関数に渡すのではなく、TabHost コンテキストを渡してはならないと言っていました。私はこれを次のように変更しました:

それ以外の:

しかし、それは役に立ちません。私はまだ偽になります。それが違いを生むかどうか、私はエミュレーターですべてのテストを行っています。

私は本当にこれに私の髪を引っ張っています。誰かが何かアイデアを持っていれば、私は非常に感謝しています!

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

android - bindService() は NullPointerException を返し、onServiceConnected() は呼び出されません

私は長い間探していて、(SOで)多くの同様の質問を見つけましたが、これを解決するものはまだ見つかりません:

Servicestartservice() を呼び出すことによって開始される (ジョブクローラー) があります。このサービス内で、実行時間の長いスレッドを開始しています。このスレッドは、ある時点で、init が次のようなクラス (Web サービス) を呼び出しています。

いくつかのネットワーク呼び出しの後、クラス (webservice) は recieveData() というメソッドでデータを受け取ります。recieveData 内で、次のようにサービスにバインドしようとしています。

今、bindservice を呼び出す行で nullpointerexemption を取得しています。私は実際にはまだサービスで何もしようとしていないことに注意してください。私はそれにバインドしようとしているだけです。何か助けていただければ幸いです... 髪があれば抜いてしまいます!笑

関連すると思われる追加のコードを次に示します。私の接続:

};

MyLocalBinder というサービスのバインダー:

サービスの onbind メソッド:

ああ、これは、別のコンテキストなどを使用する必要がある場合に備えて、サービス内のスレッドからクラスをロードする場所です。

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

android - Android アプリケーションでプロセス間通信の必要性を処理するにはどうすればよいですか?

私のアプリケーションでは、定期的に次のことを行う必要があります。

  1. 15 秒に 1 回、定期的なハートビート情報をサーバーに送信します
  2. 定期的にスクリーン キャプチャを取得し、60 秒に 1 回サーバーに送信します
  3. 5 秒ごとに 1 回、メッセージをサーバーに送信してメッセージをポーリングします

上記の各項目のサービスを作成しましたが、ここで助けが必要です。これらのサービス間の通信です...

ハートビート サービスは、次のことができる必要があります。

  1. 画面キャプチャ サービスから情報を取得します。
  2. メッセージング サービスでメッセージをキューに入れます。

スクリーン キャプチャ サービスは、次のことができる必要があります。

  1. アプリケーションから現在のアクティビティを取得する
  2. メッセージング サービスでメッセージをキューに入れます。

メッセージング サービスは、次のことができる必要があります。

  1. アプリケーション/サービスからサーバーに送信するためにキューに入れるメッセージを受信する
  2. サーバーから受信したメッセージをアプリケーションに送信する

必要なすべての通信経路があるので、どうすればよいのでしょうか? アプリケーションをすべてのサービスにバインドしますか? サービスを他のサービスにバインドしますか? 通信の他のものを使用しますか?

アプリケーションがフォアグラウンドになくても、これらのサービスをすべて実行/機能し続ける必要があります。

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

android - サービスandroidからのアクティビティでリストビューを更新します

私は2つのクラスを持っています、

1.アクティビティクラス

2.サービスクラス

サービスが更新されたときに、アクティビティのリスト ビューを更新する必要があります。実際、私はチャットアプリケーションのように試しています。私のサービスは常に私のデータベースをチェックしており、新しい文字列を取得した場合は、リストビューを更新するだけで再構築せずにアクティビティを更新する必要があります。iBinder を使用して操作されることがわかりましたが、使用方法がわかりません。コードの例をいくつか教えてください。

参照ページ

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

android - サービスを開始できません Intent { cmp=com.test/com.sense.service } U=0: 見つかりません

上記のエラーは、別のライブラリにすぎないjarファイルに配置されたAndroidサービスを起動すると発生します。

ライブラリをソース パッケージとして使用すると、正常に動作します。何か提案はありますか?

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

android - リモートサーバーの切断を処理する適切な方法は何ですか?

リモート サービスを使用した作業のほとんどすべての例には、そのようなコードが含まれています (これは Google IabHelper から取得したものです)。

フィールド mService が常に null に設定されるのはなぜですか? onServiceConnected コールバックを無視するのは間違っていますか? 私の経験では、再接続は通常 1 ~ 2 秒後に発生します。フィールドが広く使用されているにもかかわらず、Google IABHelper は mService の null をチェックしません。また、私のユーザーの多くは、切断された場合に NPE を取得します。IabHelper にパッチを適用したい。問題はどのように..

フィールドmServiceが非同期メソッド内で使用されている場合、切断を処理する適切な方法は何ですか? onServiceDisconnected を無視して RemoteExceptions を取得するだけですか? 待機通知アプローチを考えましたが、再接続が行われるという保証はありません。どんなアイデアでも大歓迎です。