2015-06-11 54 views
2

我正在嘗試在我的android應用程序中使用SIP API併產生一些奇怪的情況。如果我使用的是Android 4.2.2的VitrualBox設備,但它工作的很好,但是當我使用相同的Android版本安裝相同的應用到真實設備時,它說SipManager.newInstance(this)返回nullgetApiVersion()返回false(測試聯想& GSmart) 。但是當我從遊戲市場安裝另一個SIP應用程序時,它運行良好。 我試圖找到理由,也許該設備固件一些奇怪,但其他SIP應用程序的作品。你能幫助找到解決方案來解決這個問題,並獲得設備上的SipManager?SIP API SipManeger返回null

清單文件

<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.ACCESS_NETWORK_STATE" /> 

<uses-feature 
    android:name="android.hardware.sip.voip" 
    android:required="true" /> 
<uses-feature 
    android:name="android.hardware.wifi" 
    android:required="true" /> 
<uses-feature 
    android:name="android.hardware.microphone" 
    android:required="true" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".WalkieTalkieActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity 
     android:name=".SipSettings" 
     android:label="set_preferences" /> 


    <receiver 
     android:name=".IncomingCallReceiver" 
     android:label="Call Receiver" /> 


</application> 

搖籃

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "com.uniphone.dev3.siptest" 
    minSdkVersion 15 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
    } 
} 

    dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.2.0' 
} 

回答

1

真是如此,我覺得是(自定義)Android手機固件還是那張噁心與SIP,而不是所有的設備可以運行SIP API。只有一種情況是在C++上使用3D方庫。

由於最終我使用了Oracle的JAIN-SIP java庫。 示例發現於Mobicents/restcomm-android-sdk