Android 4.2対応を行うときの注意点(書き始め…)

Android 4.2(APIレベル17)がリリースされました。

開発者向けの情報も提供が開始されています。まだまだ斜め読みも終わっていない状況ですが、「4.1までに対応したアプリを4.2に移行させる場合の注意点」についてまとめていきたいと思います。ただ、時間があまりとれなそうなので、次回更新は未定です。

※本Blogの記述は、公式サイトの情報(http://developer.android.com/about/versions/android-4.2.html)を元に、非公式に解釈して記述したものです。誤りを含んでいる可能性があります。本情報を参考にした場合に起きうる問題等については、一切の責任を負いかねます。その点はご理解の上、参照いただければと思います。本家のサイトも合わせて読むことをお勧めします!

(1)Content Providerがデフォルトで非公開に

4.2からは、Content Providerがデフォルトでは公開されないようになっています(AndroidManifestでandroid:exportedfalseと定義されたのと同じ意味です)。他のアプリが、あなたのアプリのContent Providerにアクセスできるようにするには、明示的に、android:exportedをtrueと定義しておく必要があります。この振る舞いはは、android:targetSdkVersion もしくは android:minSdkVersionを17以上にした場合に発生します。ただし、この条件(targetSdkVersion,minSdkVersion)を満たさない場合は、Android 4.2で実行した場合でも、Android4.1までと同様に、android:exported="true"として処理されます(つまり、Content Providerが公開される状態)。

★minSdkもしくはtargetSdkを17以上に変更しない限りは、本件についての影響は受けなそうに読み取れますが、アプリを更改する場合は、十分検証した方が安全だと思います。

(2)TBD

コメントする