2013-08-13 2 views
0

전화에서 연락처를 읽고, 나열하고, 추가하고 검색하는 라이브러리를 개발했습니다. Activity, cursor 및 managedQuery를 사용하여 작업을 수행했습니다. 그러나 완전한 독립 라이브러리를 가지려면 활동을 사용하지 않고해야합니다. 이 uri : "contacts : // contacts/people/id"를 통해 예제별로 연락처 이름을 지정할 수 있습니까? 그렇다면 활동을 사용하지 않고 예제가있을 수 있습니까? 도움을 주시면 대단히 감사하겠습니다. 많은 감사.활동을 사용하지 않고 연락처 읽기

답변

0

일부 코드를 게시하면보다 정확한 대답을 얻을 수 있지만 라이브러리에서 연락처를 검색하는 메서드를 구현하면이 메서드의 매개 변수로 Context 인스턴스가 있어야합니다. 이 같은

시도 뭔가 : 그런 다음 응용 프로그램에서이 메소드를 호출 할

public Contact readContacts(Context context) 
{ 
    ContentResolver resolver = context.getContentResolver(); 
    Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
    .... 
} 

이 같은 라이브러리를 사용

ContactHelper.readContacts(activity); 

또는이 같은 :

ContactHelper.readContacts(getApplicationContext()); 

등 ...

난 당신이 이미 필요한 모든 권한을 가지고 가정하지만,이를 추가하는 것을 잊지 마세요하거나 연락처를 읽을 수 없습니다 : 여기

<uses-permission android:name="android.permission.READ_CONTACTS" /> 

여러 코드 예제와 연락처를 읽기에 대한 자세한 정보를 찾을 수 있습니다 : https://developer.android.com/training/contacts-provider/retrieve-names.html

+0

답장을 보내 주셔서 감사합니다. 당신의 예제에서 당신은 여전히 ​​활동을 사용합니다. 그래서 그것을 사용하지 않는 방법이 있는지 알고 싶습니다. 그래서 jar 파일로 제 라이브러리를 만들 수 있습니까 ?? – user2451237

+0

게시 방법은 라이브러리에서 구현하는 방법입니다. 당신은 항상 Context를 필요로하지만 문제에 대한 해결책은 당신의 메소드가 Context 매개 변수를 필요로하고 당신의 라이브러리를 사용하는 모든 사람들이 Activity와 같은 Context를 당신의 메소드에 제공 할 것입니다. –

+0

완벽 감사 – user2451237

관련 문제