현재 content provider를 공부하고 있는데요.
서로다른 어플간의 DB를 공유하는 프로그램을 짜고 있는데.....
두개의 파일에 대해서 permission을 아래와 같이 주었습니다.
==========================================================================
Mycontent 어플의 AndroidManifest.xml파일은
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<uses-permission android:name="com.example.mycontentprovider.permission.read"/>
<uses-permission android:name="com.example.mycontentprovider.permission.write"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.test.MyContent"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
==========================================================================================
===========================================================================================
MycontentProvider 어플의 AndroidManifest.xml파일은
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mycontentprovider"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<permission android:name="com.example.mycontentprovider.permission.read"/>
<permission android:name="com.example.mycontentprovider.permisson.write"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<provider
android:name=".MyContentProvider"
android:authorities="com.example.mycontentprovider"
android:readPermission="com.example.mycontentprovider.permission.read"
android:writePermission="com.example.mycontentprovider.permisson.write">
</provider>
</application>
</manifest>
============================================================================================
프로그램을 실행하면
아래와 같은 에러가 발생됩니다.
01-04 12:11:43.908: E/DatabaseUtils(12432): Writing exception to parcel
01-04 12:11:43.908: E/DatabaseUtils(12432): java.lang.SecurityException: Permission Denial: writing com.example.mycontentprovider.MyContentProvider uri content://com.example.mycontentprovider/firends from pid=12518, uid=10087 requires com.example.mycontentprovider.permisson.write
01-04 12:11:43.908: E/DatabaseUtils(12432): at android.content.ContentProvider$Transport.enforceWritePermission(ContentProvider.java:349)
01-04 12:11:43.908: E/DatabaseUtils(12432): at android.content.ContentProvider$Transport.update(ContentProvider.java:218)
01-04 12:11:43.908: E/DatabaseUtils(12432): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:207)
01-04 12:11:43.908: E/DatabaseUtils(12432): at android.os.Binder.execTransact(Binder.java:338)
01-04 12:11:43.908: E/DatabaseUtils(12432): at dalvik.system.NativeStart.run(Native Method)




오류 보니까 오타 같으신데요~
permisson
permission 아닌가요?