2013-05-14 4 views
0

LogCat에서 ActivityManager이 특정 콘텐츠 제공 업체에 대해보고하고 있음을 알 수 있습니다. 나는 그것에 대해 더 배우기 위해 콘텐츠 제공자에 액세스하려고하는 다음 코드를 사용Android 콘텐츠 제공 업체에 액세스 할 수 없습니다.

: 커서를 얻으려고 노력 후,

Cursor cursor = context.getContentResolver().query(uriDSDS, null, null, null, null); 

    String[] columnNames = cursor.getColumnNames();   
    Log.d(TAG, "columnNames=" + columnNames.toString()); 

를 불행히도, 난 로그 캣에서 다음과 같은 오류를 참조

문제가 무엇 __ 에 대한 제공을 찾지 못했습니다? 이 공급자에 액세스 할 수없는 이유는 무엇입니까? 특정 앱에만 액세스가 제한 될 수 있습니까? 기기에서 사용 가능한 모든 콘텐츠 제공 업체를 확인하기 위해 ADB 또는 다른 방법을 사용할 수 있습니까?

+0

입니까? – davidcesarino

+0

"이중 sim"컨텐트 공급자 인 것으로 보이는 문자열입니다. 내가 logcat에 문자열을 보았 기 때문에 나는 그것에 접속하기를 원했다. 내 장치에서 사용할 수있는 모든 콘텐츠 공급자를 찾을 수있는 방법이 있습니까? 그렇다면 내가 올바른 문자열을 가질 수 있도록 문자열을 확인할 수 있습니까? – gonzobrains

+0

쿼리하려고하는 컨텐트 프로 바이더의 URI. – gonzobrains

답변

0

당신은 예를 들어

열린 uriDSDS = Uri.parse 올바른 열린 를 추가해야합니다 ( "내용 : //aaa.aaa/values을");

+0

올바른 Uri를 확인할 수있는 방법이 있습니까? 공급자에게 질문하고 어떻게 든 제공하는 것을 볼 수 있습니까? – gonzobrains

0

아래의 작업 예제에서와 같이 uriDSDS가 올바른지 확인하십시오. 하지만`uriDSDS`는 어떤 명백한 질문에 대한 죄송합니다

Cursor people = getContentResolver().query(
         ContactsContract.Contacts.CONTENT_URI, null, null, null, 
         null); 

       // get contact id 
       while (people.moveToNext()) { 
        if (people != null) { 
         int numberFieldColumnIndex = people 
           .getColumnIndex(PhoneLookup._ID); 
         String number = people.getString(numberFieldColumnIndex); 
         contactId.add(number); 
        } 
       } 

       people.close(); 
+0

올바른 URI를 가지고 있는지 어떻게 확인할 수 있습니까? 특정 기기에서 모든 콘텐츠 제공 업체를 탐색 할 수있는 방법이 있습니까? – gonzobrains

관련 문제