I believe your problem is that you don't declare the permissions with
the <permission/> tag in the Application1 manifest.

To verify this, I created two apps, with your manifests. I changed the
package name from 'com.android' to 'com.example', because you
shouldn't be using com.android, but otherwise used your manifests. I
wrote a minimal bit of code for each app. I was able to reproduce the
SecurityException.

Once I added the following:

<permission android:name="com.example.mytable.Permission.READ"
android:protectionLevel="normal" android:description="@string/hello"></
permission>
<permission android:name="com.example.mytable.Permission.WRITE"
android:protectionLevel="normal" android:description="@string/hello"></
permission>

And *redeployed* Application 2, it no longer got the security
exception. (It started getting other errors, since I didn't really
implement the provider's cursor, but they're the expected sort of
error).

Note that it is essential to deploy Application 2 again AFTER fixing
Application 1, because the decisions about application permissions are
made at installation time.

On Apr 13, 4:41 am, kiran <saikiran....@gmail.com> wrote:
> Hi sreehari thanks for your reply.
> But i didn't solved my problem.
> I will give some more inputs to you
> Application1 Manifest file looks like this
> <?xml version="1.0" encoding="utf-8"?>
> <manifest xmlns:android="http://schemas.android.com/apk/res/android";
>       package="com.android.mytable"
>       android:versionCode="1"
>       android:versionName="1.0">
>     <application android:icon="@drawable/icon" android:label="@string/
> app_name">
>         <activity android:name=".MyTable"
>                   android:label="@string/app_name">
>             <intent-filter>
>                 <action android:name="android.intent.action.MAIN" />
>                 <category
> android:name="android.intent.category.LAUNCHER" />
>             </intent-filter>
>         </activity>
>        <provider
>      android:name=".MyContentProviders"
>      android:authorities="com.android.mytable"  //Here i didn't
> understand what is this authority time being iam giving package name
> of the application one
>      android:writePermission="com.android.mytable.Permission.WRITE"
>      android:readPermission="com.android.mytable.Permission.READ"
>      android:exported="true"
>      android:multiprocess="true"
>      />
>
>     </application>
>     <uses-sdk android:minSdkVersion="5" />
> Application2:
> In this application iam reading the database
> its manifest file is
> <?xml version="1.0" encoding="utf-8"?>
> <manifest xmlns:android="http://schemas.android.com/apk/res/android";
>       package="mydir.program"
>       android:versionCode="1"
>       android:versionName="1.0">
>     <application android:icon="@drawable/icon" android:label="@string/
> app_name">
>         <activity android:name=".MyActivity"
>                   android:label="@string/app_name">
>             <intent-filter>
>                 <action android:name="android.intent.action.MAIN" />
>                 <category
> android:name="android.intent.category.LAUNCHER" />
>             </intent-filter>
>         </activity>
>
>     </application>
>
> <uses-permission android:name="com.android.mytable.Permission.READ" />
> <uses-permission android:name="com.android.mytable.Permission.WRITE" /
>
>
>
> </manifest>
>
> Where com.android.mytable is the package name of Application One and
> MyContentProviders is Class name which extends ContentProvider in
> application One
>
> Still iam getting the same problem ie security exception permission
> denied to read com.android.mytable.MyContentProviders
>
> Please can you help me if possible
> Regards,
> Saikiran
>
> On Apr 12, 10:48 am, SREEHARI <sreehari.madhusooda...@wipro.com>
> wrote:
>
>
>
> > Hi,
>
> >    In the manifest file of both applications you have to give
> > permissions.
> > In the manifest file of application with content provider you have to
> > give the following permission........
>
> >  <provider android:name="................."
> >                 android:authorities="............................."
> >             android:readPermission = "/*Package name of Content
> > provider*/.Permission.READ"
> >             android:writePermission = "/*Package name of Content
> > provider*/.Permission.WRITE"
> >             android:multiprocess = "true" android:exported="true"
> >             />
>
> > In the manifest file of application you going to use this provider,
> > you havr to give uses permission
>
> > <uses-permission android:name="/*Package name of Content
> > provider*/.Permission.READ" />
> >      <uses-permission android:name="/*package name of Content
> > provider*/.Permission.WRITE" />
>
> > You have to give the same permissions in both manifests........
>
> > Regards,
> > SREEHARI.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

To unsubscribe, reply using "remove me" as the subject.

Reply via email to