2

Android用のダイヤラーを作成しました。デフォルトのダイヤラーと統合しました。呼び出しをクリックするたびに、ダイアログを使用して完全なアクションを取得します。私のアプリはこの時点まで問題ありません。

ダイヤルする番号が 10 桁以上の場合にのみオプションを使用して、アプリを完全なアクションの 1 つとして使用したい

今私が望むのは、ユーザーの連絡帳にある可能性のある USSD コード、プレミアム番号などのいくつかの番号を避けることです。そのため、ユーザーがダイヤラーから通話 USSD コードまたはプレミアム番号をクリックするたびに、自分のアプリをオプションの 1 つにしたくありません。この のインテント フィルタを設定する方法。フィルターがマニフェストに含まれている必要があると想定しています。

ダイヤルする番号が 10 桁以上の場合にのみ、アプリが表示されるはずです

MIME タイプ、URL の例は見つかりましたが、dialer の例は見つかりませんでした。

これがアクティビティのマニフェストエントリです

    <activity android:name=.ActivityCallMore" 
        android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.CALL_PRIVILEGED" />
            <action android:name="android.intent.action.DIAL" />
            <action android:name="android.intent.action.CALL_BUTTON" />
            <!-- <action android:name="android.intent.action.VIEW" /> -->
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="tel" />
        </intent-filter>
    </activity>

前もって感謝します。

4

1 に答える 1

2

申し訳ありませんが、これはできないと思います。

のようなものになるだろうと想像した

<data android:pathPattern="...........*" />

しかしhttp://developer.android.com/guide/topics/manifest/data-element.htmlはそれpathPattern

meaningful only if the scheme and host attributes are also specified for the filter.

URIhostで指定する必要はありません。tel://01234567892009 年以降、同様の問題が「中優先度の欠陥」としてhttps://code.google.com/p/android/issues/detail?id=3368にリストされています。

他の誰かが私が間違っていることを証明できることを期待しましょう.

于 2012-12-22T08:53:38.787 に答える