私はService
のアプリケーションを持っています。このサービスはworker Thread
を開始し、このスレッドはServiceのインスタンスへのポインタを必要とします(このサービスのいくつかのメソッドを呼び出します)。Android:サービスへのポインタを取得するには?
今私はちょうど私の自身のRunnable
コンストラクタにService
のonCreate()
方法からthis
ポインタを渡すが、私は私のアプリを閉じるまで、それが正常に動作します。アプリが再起動されると、ポインタで何かが間違ってしまう。私はまだ何が間違っているのか分かりませんが、ServiceのインスタンスへのポインタがServiceの別のインスタンスへのポインタであり、Runnable
へのポインタも間違っています。
もし私が私のアプリを殺すなら、次に正しく動作しますが、再起動後に同じ問題が起こっています。
onCreate()
メソッドから始まるスレッドから私のサービスのインスタンスへのポインタを取得するには、onCreate()
サービスのメソッドからthis
ポインタを渡すことができないと思われますか?
更新日:ちょうど同じことがわかりましたsingleton issue。 Runnable
はシングルトンでした。しかし、私はまだAndroidでシングルトンを使わないこと以外は良い解決策を見つけることができません。たぶん、どんな提案?
ありがとうございました。申し訳ありませんが、誤った用語ではなく、 "アプリケーション"について:システム設定では、私は正確に "アプリケーション管理"に行きます。私はインストールした "アプリケーション"を停止できます。私は正しい言葉が活動だと思いますか?そして、私は戻ってチェックしたいと思います:一般的に、これは 'Service.onCreate()'の中の何かに 'this'参照を渡すことですか? –
@dimonomid: "システム設定で私は正確に"アプリケーション管理 "に行くことができます。私はインストールした"アプリケーション "を止めることができます。 - ユーザーは通常これをしません。 "これで、この参照をService.onCreate()の何かに渡すことはできますか?" - 一般的に、はい。 – CommonsWare
私はユーザーがこれを行うべきだとは言わなかった、なぜ私が "app"という用語を使ったのか説明しようとした。さて、バグを見つけました。もう一度感謝します。シングルトンの問題がありました。私は自分の質問を更新しました。あなたはこのアップデートを見て、何かを提案してもらえますか? –