Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android拨号器中检查号码_Android_Android Intent - Fatal编程技术网

在Android拨号器中检查号码

在Android拨号器中检查号码,android,android-intent,Android,Android Intent,我必须为我的公司开发一个android拨号应用程序,以利用我们内部的voip系统。我对安卓系统完全陌生,但有钛合金方面的经验 应用程序应该捕获号码,并且必须对号码执行某些检查。检查后,标准手机应用程序应拨打该号码 注册broadcastreceiver不是一个选项,因为此活动必须从用户输入/决定开始 对于这种情况,我有以下清单: <activity android:name="CallerActivity" android:theme="@android:style/Theme.Trans

我必须为我的公司开发一个android拨号应用程序,以利用我们内部的voip系统。我对安卓系统完全陌生,但有钛合金方面的经验

应用程序应该捕获号码,并且必须对号码执行某些检查。检查后,标准手机应用程序应拨打该号码

注册broadcastreceiver不是一个选项,因为此活动必须从用户输入/决定开始

对于这种情况,我有以下清单:

<activity android:name="CallerActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.CALL_PRIVILEGED" /> 
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="tel" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.CALL" /> 
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="tel" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.CALL_BUTTON" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.CALL" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="vnd.android.cursor.item/phone" />
            <data android:mimeType="vnd.android.cursor.item/phone_v2" />
            <data android:mimeType="vnd.android.cursor.item/person" />
        </intent-filter>
    </activity>
</application>
该代码实际上可以工作,但唯一的问题是,默认拨号选项对话框会一次又一次地弹出


应用程序必须没有任何UI

代码才可以。在清单文件中的应用程序标记之前使用以下代码。现在工作正常,无需打开默认的呼叫选项弹出窗口。如果您仍发现任何问题,请告诉我:


我在清单文件中设置了此权限。奇怪的是,当代码启动拨号活动时,应用程序会自动调用“自身”
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final Intent i = getIntent();
    final Uri number = i.getData();
    number = checkNumberInternal(number);

    Intent dial = new Intent(Intent.ACTION_CALL, number);
    dial.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(dial);
}