2016-08-08 17 views
2

発信番号にnullの値を取得し続けます。私はWebからいくつかのソリューションを試しました。私のマニフェストでダイヤルしている番号を取得するには、androidの発信番号

私は、あなたが私がここにさまざまな方法で番号を取得しようとしていることがわかります

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

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" > </uses-permission> 
    <receiver android:name=".home.OutgoingReceiver" android:exported="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.PHONE_STATE" > 
        <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 


       </action> 
      </intent-filter> 
     </receiver> 

私の受信機が好きにこのように見えるこれらの関連する行を持っているが、私はnull値を得続ける

public void onReceive(Context context, Intent intent) { 
     if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 


      final String originalNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER).toString(); 
      Log.d("APP", "outgoing,ringing:" + originalNumber); 
     } 
     String ph = intent.getExtras().getString(OutgoingReceiver.INTENT_PHONE_NUMBER); 
     // savedNumber = intent.getExtras().getString("android.intent.extra.PHONE_NUMBER"); 
     String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
     String phoneNumber = getResultData(); 
     if (phoneNumber == null) { 
      // We could not find any previous data. Use the original phone number in this case. 
      phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
     } 
     String phoneNumberTest = intent.getExtras().getString(OutgoingReceiver.INTENT_PHONE_NUMBER); 

答えて

0

最初にマニフェストにこれを追加します。

<action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 

次に、あなたにこれを追加rレシーバ:

if (intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL")) { 
      String outoingNumber = intent.getExtras().getString("android.intent.extra.PHONE_NUMBER"); 
      return; 
     } 
+0

これも動作しないようです – Zidane

関連する問題