Подтвердить что ты не робот

Приложение для дозвона Android

Я выясняю способ заменить приложение дозвона по умолчанию из моего пользовательского приложения для набора номера, но я не понимаю, как это сделать.

Вот что я хочу

  • Создание пользовательского пользовательского пользовательского интерфейса
  • Мое приложение вызывается всякий раз, когда нажимается кнопка вызова или нажимается на Android.
  • Приложение также можно вызвать с экрана контакта

Я имею в виду public static final String ACTION_DIAL.

4b9b3361

Ответ 1

  • Создайте простое приложение для Android (наш дозвонщик). Чтобы на самом деле позвонить кому-то, вам просто нужен этот метод:

    private void performDial(String numberString) {
        if (!numberString.equals("")) {
           Uri number = Uri.parse("tel:" + numberString);
           Intent dial = new Intent(Intent.ACTION_CALL, number);
           startActivity(dial);
        }
    }
    
  • Предоставьте разрешение вашего приложения для вызова в AndroidManifest

    <uses-permission android:name="android.permission.CALL_PHONE" />
    
  • Задайте в AndroidManifest намерение, которое говорит на ваш телефон, чтобы использовать ваше приложение, когда вам нужен dialer

Когда кто-то нажимает кнопку вызова:

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

Когда кто-то запускает URI:

    <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>

Ответ 2

Это сработало для меня:

        <activity
        android:name=".activities.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <!-- open activity when establishing a call -->
        <intent-filter>
            <action android:name="android.intent.action.CALL_PRIVILEGED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="tel" />
        </intent-filter>

    </activity>

Ответ 3

Указ ACTION_DIAL позволяет вам передать номер для вызова стандартного дозвона, готового для вызова пользователем, если они этого хотят, поэтому вам не нужно.

У вас есть конкретный вопрос, или вы хотите, чтобы кто-то рассказал вам, как реализовать свое приложение, вызываемое при нажатии кнопки программного обеспечения/аппаратного вызова?

Похоже, вам нужен ACTION_CALL_BUTTON - http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL_BUTTON