2012-04-02 9 views
0

Androidでアクティブな通話の数を同期的に確認する方法を探しています。Androidで進行中のコールの数を検出する方法

グーグルを検索すると、人々はTelephonyManagerをよく言及していますが、この目的のために私が見る唯一の方法は現在の呼び出し状態だけを返すようなgetCallStateです。私はこれがアクティブコールのためのものだと仮定します。私が見つけた他のものは、リスナーを付けて待ってカウントすることです。

私はphonegapにいるので、私は現在の呼び出しの概要を私に呼び出すことができますメソッドをしたいので、これは私にとっては良いことではありません。複数のコールがアクティブな場合、私は知りたいことに注意してください。一度は、iPhone ios apiのようにちょうどcurrentCallsメソッドでこれを持っているように見えます。

Androidにはこのような方法はありません。私はそれを見つけるように見えない。

誰でも?ありがとう!

+0

http://developer.android.com/reference/android/telephony/TelephonyManager.html#listen%28android.telephony.PhoneStateListener,%20int%29答えHirenのため – Selvin

答えて

0
**AndroidManifest.xml**. 


<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.hiren.receiver.phone" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <application 
     android:icon="@drawable/icon" 
     android:label="@string/app_name" > 
     <receiver android:name="MyPhoneReceiver" > 
      <intent-filter> 
       <action android:name="android.intent.action.PHONE_STATE" > 
       </action> 
      </intent-filter> 
     </receiver> 
    </application> 

    <uses-sdk android:minSdkVersion="9" /> 

    <uses-permission android:name="android.permission.READ_PHONE_STATE" > 
    </uses-permission> 

</manifest> 

****Create the MyPhoneReceiver class.**** 

package com.hiren.receiver.phone; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.telephony.TelephonyManager; 
import android.util.Log; 

public class MyPhoneReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Bundle extras = intent.getExtras(); 
     if (extras != null) { 
      String state = extras.getString(TelephonyManager.EXTRA_STATE); 
      Log.w("DEBUG", state); 
      if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { 
       String phoneNumber = extras 
         .getString(TelephonyManager.EXTRA_INCOMING_NUMBER); 
       Log.w("DEBUG", phoneNumber); 
      } 
     } 
    } 
} 
+0

感謝。残念ながら、一度に複数の通話がアクティブになっている場合は、この確認で知る必要がある主なことはわかりません。アンドロイドは、アクティブな電話の状態(私に話している人)だけを教えてくれるが、私がおそらく保持している10人については何も言わないようだ。私はあなたの答えを理解しているので、そのコードはアクティブなコールの状態が変わったときに私に言うでしょうが、残りのコールについては何も言いません。 – Parbst

関連する問題