2013年もよろしくお願いします。
私は次のAndroidチャレンジを持っています:
アクティビティとウィジェットで構成されるアプリがあるとします。これらは両方とも、可能な限り実際と同じ情報を提供します。そのため、サービスマイニングで要求されたデータを取得し、可能であれば、メッセージオブジェクトをアクティビティまたはウィジェットのハンドラーに送信します。バッテリーの消費量が多いなどの問題はありませんが、問題ありません。
ウィジェットには3つの可能なレイアウトがあります。現在のレイアウトはオンザフライで決定され(サービスからのデータに依存します)、リモートビューを介して設定されます。
今私の問題:ウィジェットをタップしてサービスのオン/オフを切り替えられるようにしたい。私はPendingIntentをonClickPendingIntent(名前が違うかもしれませんが、関係ありません)として実装し、これを処理するonReceiveメソッドを実装しました。それはかなりうまく機能しますが、しばらくの間だけです。ウィジェットの作成後、ウィジェットをタップすることでインテントをトリガーできます。しかし、数分後(非決定論的)、それは何もせず、意図はもうonReceiveに捕らえられません。ログで、ウィジェットがイベントへの応答を停止する前に、ウィジェットでACTION_READYインテントを受信したことがわかりました。いつでも私のタッチをリッスンするようにウィジェットを設定する方法はありますか?
ウィジェットに別の問題があります-ゾンビ。ウィジェットに関するドキュメントをグーグルで検索しようとしましたが、適切なドキュメントが見つかりませんでした。システムが私のプロセスを強制終了することを決定した場合でも、画面にデッドウィジェットUIがぶら下がっています。ジェスチャーに応答せず、メッセージも処理していないと思います。このウィジェットをプログラムで(たとえばサービスから)ウェイクアップする機会はありますか?
誰かが私を助けてくれれば、2週間で2回目のクリスマスがあります。どうもありがとう!