例えば、私は今、(AndroidのOに基づく)は、図1のようなプログラムを持っている:Androidがコンパイルして携帯電話で実行するシステムのソースバージョンはどのバージョンですか?
そしてIは通知機能を記述することを試み、そしてNotificationChannelオブジェクトを発見し、それを書き込んだ後、同様に図2
、
私はもしを削除したときに、私はこのクラスを見つけることができなかったので、私は、AndroidのO以下の携帯電話上のミスを犯すだろう。
Android Oの通知では、通知が消えるまでの遅延を設定するsetTimeoutAfter(2000)メソッドも追加されました。このメソッドはAndroid Oの前には存在しませんでしたが、このメソッドは制限がなければ追加しませんでした。Android Oの下の携帯電話で実行しているときにエラーを報告しませんでした。なぜNotificationChannelが間違っているのですか?setTimeoutAfterは間違いを起こしません。
または、Androidコンパイラは、私は26のソースコードのバージョンで決定されたと思うし、携帯電話の各低バージョンに実行すると、携帯電話もそれぞれのバージョンでなければなりません、なぜ私はsetTimeoutこのメソッドは、例外ではなく、実行できます(効果はありません)。
そのコードを囲むifステートメントは、そのコードが実行されないようにしています...どういう例外がありますか? –
コードの画像を投稿しないでください。彼らはここで役に立たない。これを避けるべき多くの理由のリストについては、[このメタ投稿](https://meta.stackoverflow.com/a/285557/62576)を参照してください。コードはテキストで、そのフォームに簡単にコピーして質問に貼り付けることができます。イメージは、問題を示す他の方法がない場合にのみ使用してください。 –
あなたの 'setTimeoutAfter'は[NotificationCompat.Builder.setTimeoutAfter()](https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#setTimeoutAfter(long))です。 – Toris