問題タブ [onserviceconnected]

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 に答える
1430 参照

android - アプリケーションを 3 回または 4 回起動した後、bindService の後で onServiceConnected が呼び出されない

奇妙な問題に直面しています。アプリの起動時にアクティビティをサービスに接続しています。サービス接続が正常に確立され、Samsung galaxy S5 やその他のデバイスでも正常に動作します。しかし、Moto E、Moto G などの他のデバイスでは動作します3回か4回発射した後、2回か3回だけで、まったく機能しません。サービスとアクティビティ間の通信は、マッサージャーを使用して実現されます。アプリが動作を停止するonServiceConnectedと呼び出されないことがわかりましたが、この場合でも bindservice は true を返します。同様の問題はここに記載されていますが、回答はありません

これは、サービスをアクティビティにバインドする方法です

以下はMyServiceのonBindです

ここで、messenger は Messenger のインスタンスであり、アクティビティとサービスの間で通信します。

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

android - Android: bindService の後に onServiceConnected が呼び出されない

私が見つけた多くの同様の質問のどれも、私の問題を解決するのに役立ちませんでした.

ここに私が見たいくつかの質問があります:

これが私のAndroidアプリコードの一部です:

おわかりのように、myNetworkQueryServiceConnection は bindService メソッド (onCreate() にあります) 内から呼び出す必要があります。これは(理論的には)onServiceConnectedも実行する必要があります(私はそう思います)が、コードにブレークポイントを配置すると、そのメソッド内で停止することはありません。デバッグを行ったところ、bindService が false を返すため、何らかの理由で正常にバインドされていません。

Android でサービスをバインドする必要があるのはこれが初めてなので、何かを見逃していると確信しています。誰かが間違いを指摘してくれることを願っています。

不足している情報がありましたらお知らせください。何が必要なのかわかりません。アプリ コード全体をここに掲載することはできません。

編集:マニフェストにサービスを登録することについて読み続けていますが、それがどこでどのように行われるのかわかりませんか? このプロジェクトのマニフェストは次のとおりです。

確かにサービスについては何もわかりませんが、追加する方法がわからないのでしょう。

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

android - onServiceConnected は Service onCreate の後にのみ呼び出されますか?

現在の Android プロジェクトでは、 を介してサービスを開始してからstartService()、 を使用してサービスにバインドしていますbindService()(私がこれを行うのは、通信できるサービスを開始したいからです。気にしないでください)

コンテキストがサービスにバインドされた後、通常、この権利を理解していればonServiceConnected()ServiceConnection (以前に作成した) 私のコンテキストが呼び出されます。

サービスのすべてのコードonServiceConnected()が実行された後にのみ呼び出されると思いますか?onCreate

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

android - Android アプリ内課金: onServiceConnected が呼び出されず、bindService が「false」を返す

現在、ユーザーが少額の寄付を行えるように、アプリ内課金をアプリに追加しようとしています。私は開発にAndroid Studioの最新バージョンを使用しており、このガイドに従っています(ステップバイステップで、前述のとおりにすべてを行っています...少なくとも私はそうしていると思います:-)):https://developer.android.com /google/play/billing/billing_integrate.html

AIDL ファイルは上記の場所 (パッケージ com.android.vending.billing の下) に配置され、フォルダーsrc/mainの下に生成されていることがわかります。gen

製品の取得をテストしたところ、メソッドが呼び出されないことに気付きonServiceConnectedました。次のようにアクティビティに実装されています。

サービスへのバインディングは次のように作成されます (同じアクティビティ内)。

次の 2 つのことに気付きました。

  • 寄付活動を終了すると、コンソールに例外が表示... has leaked ServiceConnection ... that was originally bound hereされます。しかし、それは私の主な問題とは無関係だと思います.onServiceConnectedまた、なぜそれが公式ガイドにあるのですか?
  • bindServiceブール値を返し、戻り値を確認したところ、falseでした。だから、問題はここからだと思います。

次のように、サービスのエントリを AndroidManifest.xml に追加する必要があると言う人もいます。

これを試してみましたが、違いはなく、このエントリは公式ガイドにも記載されていないため、必要ないと思います。

私が間違っていることはありますか?