2013-04-23 2 views
1

일반 사용자가 Nuxus 10에 문제가 있습니다. 실행 후 .... 오류가 표시됨복사 실패 : java.io.FileNotFoundException : /data/data/packagename/databases/databasename.sqlite : open : failed : EACCES (사용 권한이 거부 됨)

java.lang.Error: Error copying database => java.io.FileNotFoundException: /data/data/packagename/databases/databasename.sqlite: open failed: ENOENT (No such file or directory) 

관리자와 Nexus 10을 함께 실행하면 제대로 작동합니다.

AndroidManifest를이 :

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.SEND_SMS" /> 
<uses-permission android:name="android.permission.CALL_PHONE" /> 

<!-- Keeps the processor from sleeping when a message is received. --> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.GET_TASKS" /> 

나는 해결책을 여러 번 발견하려고 노력하지만, 난 여전히 그것을 찾을 수 없습니다.

해결책을 말씀해 주시겠습니까? 고마워,

+0

는 당신이 대처 곳 .. – SilentKiller

답변

0

당신이 제공하는 정보를 통해 나는 데이터베이스 파일이 존재하지 않는다고 말할 수 있습니다. 이 같은 그것을 확인 :

if(new File("/path/to/database").exists()) { 
    // database access code comes here 
} else { 
    // database does not exists. Create it! 
    // create directories if needed 
    // and so on 
} 
+0

이 지금은 데이터베이스를 만들 수 있습니다하지만 난에 일반 사용자로 데이터베이스를 열 수있는 권한이 없습니다 데이터베이스가 데이터베이스 이름과 경로를 확인 못하고 Nexus 10 (다중 사용자에서 실행되는 Nuxus 10) 하지만 관리자 사용자와 함께이 장치를 실행할 때 제대로 작동합니다. – sonida

+0

그런 경우 데이터베이스 파일을 공유 디렉토리에 넣어야 할 수도 있습니다. 예 : 어딘가에서 sdcard. – rekire

+0

다른 아이디어는 os가 제공 한 경로를 사용하므로 사용자는 자신의 데이터베이스를 갖게됩니다. 만약 내가 옳다고 생각하는 모든 사용자가 다른 사용자가 봇 액세스 할 수있는 다른 데이터 디렉토리 앞두고있다. – rekire

관련 문제