-1

LOGCAT にエラーはありません

タイマーから通知が開始され、通知をトリガーするブロードキャストレシーバーが開始されます。これはすべて正常に機能し、ユーザーが画面のロックを解除してから通知を押すと、アクティビティが適切に開始されます。ただし、画面がロックされているときに、ユーザーが通知バーをプルダウンしてそこからアクティビティを起動すると、アプリが起動せずにクラッシュします。

これは、現在のバックスタックまたはマップの有効なコンテキストがないためですか? 最初に画面のロックを解除すると機能するためです。

また、いくつかの基本的なテストを実行し、アプリを完全に閉じてから、画面をオフにして元に戻し、ロックされてクラッシュしたときに試してみました。次に、画面のロックが解除された後にアプリを開きました。完璧に動作します。

では、なぜ画面をロックすると違いが生じ、ロック画面から通知インテントを起動するときにアプリがクラッシュするのでしょうか。

4

1 に答える 1

1

ここで説明することはあまり多くなく、これをコメントに入れておけばよかったのですが (ポイントが足りません)、デバッガーを起動して、コードが失敗していると「思われる」場所にブレークポイントを配置する必要があります。Logcat メッセージがないと言ったので、できる限り例外をキャッチし、スタック トレースを出力していることを確認する必要があります。必要な場合にのみ try/catch を使用する必要はないことを覚えておいてください...

また、実行中のアプリの機能を追跡できるように、適切な量の独自のログ メッセージを追加していることを確認してください。

申し訳ありませんが、これが答えではないことはわかっていますが、コードやスタックトレースがなければ難しいです:)頑張ってください!

于 2013-04-04T19:15:48.070 に答える