Какое намерение связано с "Просмотр рабочего адреса" в Контактах / Карточке контакта?

Я хотел бы зарегистрировать фильтр намерений, чтобы действие "Просмотр рабочего адреса" в приложении "Люди" могло запустить мое приложение, но что это за намерение?

1 ответ

Решение

После целого дня поиска в исходном коде контактов я нашел следующее решение:

  1. зайдите в Google market и установите "Intent Intercept"
  2. захватить данные. В этом случае это выглядит так:

Действие: android.intent.action.VIEW

Данные: контент://com.android.contacts/data/1425

Uri: содержание://com.android.contacts/data/1425

Тип: ноль

3 действия соответствуют этой цели:

com.telenav.app.android.sprint

com.google.android.apps.maps

uk.co.ashtonbrsc.android.intentintercept

Затем я пошел к документации, чтобы узнать, что я должен был получить...

http://developer.android.com/guide/appendix/g-app-intents.html

Как вы можете себе представить, я был шокирован, увидев, что используется "гео" схема. (что объясняет, почему я не смог найти географический URI в исходном коде).


РЕДАКТИРОВАТЬ: я пытаюсь реализовать намеренный фильтр приложения; это не так легко взломать...

это работает - но оно также фиксирует иные намерения, кроме "Просмотр рабочего адреса" (что не очень хорошо)

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="*/*" android:scheme="content" android:host="com.android.contacts" />

        </intent-filter>

РЕДАКТИРОВАТЬ 2: это лучший фильтр намерений, который я могу придумать для этого сценария

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.item/*" android:host="com.android.contacts" />
        </intent-filter>

РЕДАКТИРОВАТЬ 3: я могу сделать лучше... это точный намеренный фильтр для использования

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.item/*" android:host="com.android.contacts" android:pathPrefix="/data" android:scheme="content"/>
        </intent-filter>
Другие вопросы по тегам