2010-12-21 16 views
1

親の子関係に依存するアプリケーションを作成しています。特定の番号から電話がかかった場合、自動的に親との電話会議で変更する必要があります。 可能ですか?プログラムで電話会議を開始する方法

私はこの機能を実行できるクラスについてはcom.android.internal.telephony.gsm.GSMPhone
です。しかし、私はこのクラスを直接取得していません。だから私を助けてください。私は着信受信機から電話を受けました。

+0

:-)動作しません。次の2つの呼び出しの電話会議を作る方法を、この質問を読んでましたか? –

+0

あなたはこれの解決策を見つけましたか? –

答えて

1

アプリケーションからこれを行うことはできません。 com.android.internal.telephony.gsm.GSMPhoneは内部クラスで、アクセスできません。 JAVAリフレクションを使用してインスタンスを作成できますが、例外が発生します。電話状態リスナーなどはアプリケーションからのみ設定することができます。または、一部のブロードキャスト「NEW_OUTGOING_CALL」を受信することで、発信通話を傍受することができます。 は、このようにしてみてください、それは

try { 
      final Class<?> classPhonefactory = classLoader 
        .loadClass("com.android.internal.telephony.PhoneFactory"); 
      Class.forName("com.android.internal.telephony.PhoneFactory"); 

      // Object objPhonefactory = classPhonefactory.newInstance(); 



      Method method_getDefaultPhone; 
      method_getDefaultPhone = classPhonefactory 
        .getDeclaredMethod("getGsmPhone"); 
      method_getDefaultPhone.setAccessible(true); 
      Object phoneProxyInstance = method_getDefaultPhone.invoke(null, null); 

      if (null == phoneProxyInstance) { 
       Log.i("CALLActivity", "Exception!"); 
      } else { 
       Log.i("CALLActivity", "GOT phoneProxyInstance!"); 
      } 

     } catch (ClassNotFoundException e) { 
      Log.e("CALLActivity", "PhoneFactory", e); 
      e.printStackTrace(); 
     } catch (NoSuchMethodException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalArgumentException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IllegalAccessException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (InvocationTargetException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
関連する問題