ContentProvier使用时:java.lang.SecurityException: Permission Denial:XXX解决办法
来源:互联网 发布:淘宝移动端优惠券链接 编辑:程序博客网 时间:2024/05/18 15:08
提示错误
Permission Denial:opening provider com.example.db.PersonProvider from ProcessRecord{2c6e34f0 24384:com.dzr.other2/u0a10051} (pid=24384, uid=10051) that is not exported from uid 10050at android.os.Parcel.readException(Parcel.java:1425)at android.os.Parcel.readException(Parcel.java:1379)at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:2530)at android.app.ActivityThread.acquireProvider(ActivityThread.java:4460)at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:1987)at android.content.ContentResolver.acquireProvider(ContentResolver.java:1054)at android.content.ContentResolver.insert(ContentResolver.java:860)at com.dzr.test.AccessContentProvierTest.testInsert(AccessContentProvierTest.java:21)at java.lang.reflect.Method.invokeNative(Native Method)at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)</span>
测试代码
</pre><pre code_snippet_id="468846" snippet_file_name="blog_20140915_5_275383" name="code" class="java">
package com.dzr.test;
import android.content.ContentResolver;import android.content.ContentValues;import android.net.Uri;import android.test.AndroidTestCase;public class AccessContentProvierTest extends AndroidTestCase{public void testInsert()throws Exception{Uri uri = Uri.parse("content://cn.dzr.personprovider/person");ContentResolver resolver = this.getContext().getContentResolver();ContentValues values = new ContentValues();values.put("name", "laoli");values.put("phone", "13786788939");values.put("amount", 12212121);resolver.insert(uri, values);}}
程序代码
package com.example.db;import com.example.service.DbOpenHelper;import android.content.ContentProvider;import android.content.ContentUris;import android.content.ContentValues;import android.content.UriMatcher;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.net.Uri;public class PersonProvider extends ContentProvider{private DbOpenHelper dbOpenHelper;private static final UriMatcher MATCHER = new UriMatcher(UriMatcher.NO_MATCH);private static final int PERSONS = 1;static{MATCHER.addURI("cn.dzr.personprovider", "person", PERSONS);}public boolean onCreate(){dbOpenHelper = new DbOpenHelper(this.getContext());return true;}@Overridepublic int delete(Uri arg0, String arg1, String[] arg2){// TODO Auto-generated method stubreturn 0;}@Overridepublic String getType(Uri uri){// TODO Auto-generated method stubreturn null;}@Overridepublic Uri insert(Uri uri, ContentValues values){SQLiteDatabase db = this.dbOpenHelper.getWritableDatabase();switch(MATCHER.match(uri)){case 1:long rowid = db.insert("person", null, values);//Uri insertUri = Uri.parse("content://cn.dzr.personprovider/person" + rowid);Uri insertUri = ContentUris.withAppendedId(uri, rowid);return insertUri;default:throw new IllegalArgumentException("this is an unknow Uri:" + uri); }}@Overridepublic Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder){// TODO Auto-generated method stubreturn null;}@Overridepublic int update(Uri uri, ContentValues values, String selection,String[] selectionArgs){// TODO Auto-generated method stubreturn 0;}}解决办法
在AndroidManifest.xml里加入
<provider android:exported = "true" />
1 0
- ContentProvier使用时:java.lang.SecurityException: Permission Denial:XXX解决办法
- ContentProvier使用时: Permission Denial:that is not exported from uid XXX解决办法
- Android:java.lang.SecurityException: Permission Denial解决办法
- java.lang.SecurityException: Permission Denial:错误解决办法
- java.lang.SecurityException: Permission Denial
- Android 异常- java.lang.SecurityException: Permission Denial:xxx
- java.lang.SecurityException: Permission Denial: opening provider
- 错误解决: java.lang.SecurityException: Permission Denial
- java.lang.SecurityException: Permission Denial requires null
- java.lang.SecurityException: Permission Denial: opening provider
- java.lang.SecurityException: Permission Denial: opening provider
- java.lang.SecurityException: Permission Denial: reading
- AndroidRuntime: java.lang.SecurityException: Permission Denial
- 错误解决: java.lang.SecurityException: Permission Denial
- java.lang.SecurityException: Permission Denial: starting Intent
- Android java.lang.SecurityException: Permission Denial: requires android.permission.CALL_PRIVILEGED
- 关于ActivityManager: java.lang.SecurityException: Permission Denial错误
- 关于ActivityManager: java.lang.SecurityException: Permission Denial错误
- 正则表达式总结
- HDU-5014-Number Sequence
- 个人学习——第一章绪论
- MVC中,ViewData的注意事项
- spark1.x学习之路
- ContentProvier使用时:java.lang.SecurityException: Permission Denial:XXX解决办法
- SVN添加文件时的错误处理:...\conf\svnserve.conf:12: Option expected
- 上传的文件放在SVN服务器的哪个目录下
- 单片机小白学步系列(一) 单片机的前世今生
- mysql查询慢的解决方法
- Mysql中的基础函数
- java抽象类和接口的多态
- Bean的创建方式
- 浅显易懂的SpringMVC中@Controller控制器配置