Android ContetProviderを非公開にする方法
ContentProviderを自分だけ使用して、他のアプリケーションから使用禁止にする方法です。
ちょっとぐぐってみたところ、証明書で制限するという記事は見かけましたが、exportedを使った記事は見当たらなかったので...
<provider
android:name="jp.co.taosoftware.android.ssb.contentprovider.NormalProvider"
android:authorities="jp.co.taosoftware.android.sb.contentprovider.normalprovider"
android:exported="false"
/>
android:exported="false"を指定するだけでOKです。
exported
他のアプリケーションからこのコンテントプロパイダが使用可能かを指定します。 指定しない時はtrue 、trueの場合は使用可能でfalseの場合は使用不可能になります。 falseにしたときは、自分自身とユーザIDが同じアプリケーションのみアクセス可能となります
解説
コンテントプロパイダ自体は実装はするが、外部から利用されたくない時は、android:exported="false"を指定します。
証明書が同じアプリケーションのみアクセス可能にする
ちっちゃなTipsでした。



