Зарегистрировать активность для конкретного типа данных Android

Таким образом, при нажатии на любое число в любом приложении по умолчанию Dialer открывается с этим номером pre-filled,

Как я могу зарегистрировать свою деятельность для аналогичной вещи?

Где любой щелчок по номеру, также будет перечислять мое приложение и при выборе я получаю данные о нем?

Благодарю.

1 ответ

Решение

Добавьте этот фильтр намерений в вашу деятельность

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.DIAL" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.CALL_BUTTON" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:mimeType="vnd.android.cursor.dir/calls" />
</intent-filter>
 <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.DIAL" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="tel" />
</intent-filter>

и добавить это разрешение

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

кредит

Другие вопросы по тегам