Androidのアプリ開発関連のブログ

targetSdkVersionを26にしたらandroid:foregroundが・・・

targetSdkVersionを26にして3つ目の問題が生じた。

背景を黒にする必要があるアプリなんだが、layout.xmlで
android:background="#000000"
android:foreground="#FFFFFF"
にしてた。

これで問題なかったのだが、なんか表示されなくなった。
背景が白になって何も表示されない。

android:foregroundをはずしたら解決した。
APIレベル23からなんか変更があった臭い。
android:foregroundを設定すると、子Viewの背景も文字色もそれで描画されちゃうぽい?
foregroundの使い方が間違っていたような・・・

とりあえず現在判明してる違いは、
  1. @JavascriptInterfaceしないとJavaScriptからJavaメソッドが実行できない。
  2. 要求する権限によってはアプリ起動後に確認して要求する必要がある。
  3. android:foregroundの挙動が違う。
ってとこ。

2の権限はストレージ権限が即時取得できないの困る。
今の時点で完全対応させられてない・・・