Android 来自通讯录/电话簿的 Sip 应用程序调用

Android Sip application call from Contacts / PhoneBook

我目前正在使用实际工作的 sip 开发应用程序。

但是,我希望允许人们从 "PhoneBook/Contact"、

拨打电话

我看到了一些应用程序,例如 csip simple,它可以正常工作。我可以点击 phone 号码,然后会出现一个小对话框,我可以在几个应用程序之间进行选择。

我已经对 Whosebug 进行了一些研究,但我发现了一个不起作用的解决方案。

我想知道我的清单是否有误,你能帮我吗?

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.example.SIPProject" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter android:priority="10">
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DIAL" />
                <action android:name="android.intent.action.CALL" />
                <action android:name="android.intent.action.DIALER" />
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="android.intent.action.CALL_PRIVILEGED" />
                <data android:scheme="tel" />
            </intent-filter>
        </activity>
        <service android:name="com.example.sip.SipManagerService" />
        <receiver android:name="com.example.sip.SipOnboot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
    </application>
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" />
    <service android:name="com.example.sip.SipManagerService" />
    <receiver android:name="com.example.sip.SipOnboot">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CONFIGURE_SIP" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-feature android:name="android.hardware.telephony" android:required="true" />
    <uses-permission android:name="android.permission.USE_SIP" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <use-feature android:name="android.hardware.sip.voip" android:required="true" />
    <use-feature android:name="android.hardware.wifi" android:required="true" />
    <use-feature android:name="android.hardware.microphone" android:required="true" />
</manifest>

谢谢

对于SIP通话,我觉得数据类型应该是这样的 <data android:scheme="sip" />

参考检查这个 SipDroid