2011-12-05 4 views
0

を主張:Androidのエミュレータのクラッシュは、私がここで説明アンドロイドコードのバグに実行しているよ「ナル通知」

:私は、彼らが例えば何を言っているかによって、非常に困惑しているが

http://code.google.com/p/android/issues/detail?id=9840

また、間違ってNULL通知を送信し、システム プロセスをクラッシュしました。私のコードは

 int icon = R.drawable.notification_icon; 
     CharSequence tickerText = "Filter Active"; 
     long when = System.currentTimeMillis(); 

     Notification n = new Notification(icon, tickerText, when); 
     startForeground(startId, n); 

です。

なぜnが明らかにインスタンス化され、startForegroundサービスメソッドに渡されたときに、彼がnull通知を送信していると言っているのか分かりません。これはほぼ正確に私のコードがどのように見えるのか、なぜそれが間違っているのか、それとも正しい方法であるのかについて何の説明も見つけられません。

答えて

0

見つけました。

ここに記載されている感想に同意します。すべてのカウントで完全に受け入れられない。ドキュメンテーションの不足、ばかげたデフォルト動作、およびOS全体がクラッシュするような致命的な設計上の欠陥。

http://code.google.com/p/android/issues/detail?id=930

有効であることを通知するために呼び出さなければなりません基本的にsetLatestEventInfo方法。

+1

私は[documentation](http://developer.android.com/guide/topics/ui/notifiers/notifications.html)が素晴らしいとは限りません。また、タイトル/テキストなしで通知することは、非常に意味をなさない。私は同意しますが、あなたはそのようなシステムサービスをクラッシュさせるべきではありません。気づかずにやるのはかなり難しいので、それはちょうど優先度の低いバグだったと思います。あまりにも多くのリリースされたアプリになっているのではないかと疑います。 – kabuko

+0

ああ、私は彼らがAPIがすばらしくないことを認識したと思うので、それをクリーンアップするために[Builder](http://developer.android.com/reference/android/app/Notification.Builder.html)を追加しました。 API11のみ残念ながら。 – kabuko

+0

私は多くの人がドキュメントの例を見ているとは思っていませんし、コード全体がまさにそのように書かれていれば、恐ろしいことが起こるでしょう。特に、それらのコードを省略すると、オプションであるように見えます。特に、実行時エラーが表示されない場合は特にそうです。 –

関連する問題