당신은 어떻게해야하나요 :
BroadcastReceiver
의가 자신의 ContentProvider를 구현하여, 대신 그냥 API를 그것을 할 연락처와 같은 패턴을 구현할 수있다, 다시 정보를 얻기를 위해 설계되지 않았습니다.
응용 프로그램에 ContentProvider를 만들어 연락처 응용 프로그램 ContentProvider에서와 마찬가지로 다른 응용 프로그램이 ContentProvider에서 쿼리 할 수있게합니다.
tutorial을 참조하십시오.
당신은 당신이 당신의 내용은 예를 들어, 같이하는 URI의 방법을 설계해야합니다
vnd.android.cursor.item/my_app/contact
이 하나의 접촉
에 대한 정보를 얻기 위해 그리고 당신은 또한 당신의 <provider>
에서 사용자 지정 권한을 추가하는 것을 고려한다 당신의 매니 페스트이므로 허용 된 앱에서도 데이터에 액세스 할 수 있습니다.
원래 답변 :
이미 AndroidManifest
에 연락처를 볼 수있는 Activity
이있는 경우, 다음과 같은 의도 추가
<activity
android:name="..."
...>
<intent-filter>
<action android:name="com.android.contacts.action.QUICK_CONTACT" />
<action android:name="android.provider.action.QUICK_CONTACT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/contact" />
<data android:mimeType="vnd.android.cursor.item/person" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/person" />
<data android:mimeType="vnd.android.cursor.item/contact" />
<data android:mimeType="vnd.android.cursor.item/raw_contact" />
</intent-filter>
</activity>
당신은 제대로 들어오는 텐트를 처리해야합니다 너의 Activity
안에 그 mimetypes과 자료 uris.
할 수 있습니다 안드로이드 시스템 연락처 응용 프로그램 매니페스트의 예 :
https://android.googlesource.com/platform/packages/apps/Contacts/+/master/AndroidManifest.xml#307
당신은 당신의 홈 화면에
widget
소위 "
Contact 1x1
"(장치에 따라 다를 수 있습니다 이름)을 추가하여 구현을 테스트 할 수 있습니다
및 선택 어느 위젯에 접속해야하는지 알려줍니다. 이 위젯을 클릭하면 위의 의도 중 하나를 호출해야합니다.
질문을 편집하고 "다른 앱이나 사용자가 연락처 세부 정보를 원할 때 내 앱을 여는 것"을 자세히 설명하십시오. 또한 방송이 무엇을해야하는지 설명하십시오. – CommonsWare