2012-06-20 1 views
1

У меня есть приложение набора, которое, когда абонентский номер набора начинается с +, будет зависать, а затем звонить на определенный номер. Я делаю это в onReceive of BroadcastReceiver в качестве кода ниже.Intent.action_call не работает в BroadcastReceiver на Galaxy S3

public void onReceive(Context context, Intent intent) { 
    to = intent.getStringExtra("android.intent.extra.PHONE_NUMBER"); 
    if (to == null) 
     return; 

    if (to.startsWith("+")) { 
     setResultData(null); 

     Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:123456789")); 
       callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(callIntent); 

     Toast toast = Toast.makeText(context, "Call trap and Redirect", Toast.LENGTH_LONG); 
     toast.show(); 
     return; 
    } 

} 

Этот код работает отлично в другой модели, но не на Galaxy S3. Тост сообщения показывают, но намерение.action_call не набирает номер ??? просто тихо, logcat не имеет ошибки.

Это происходит только в том случае, если вы начинаете замысел извещателя внутривещания, а намерение.action_call будет работать нормально, когда начнется действие. Есть идеи?

+0

Требуется дополнительная информация, что-то не так, что не происходит? – JoxTraex

+0

Antony, на самом деле я использую параметр контекста from onReceive – user1084081

+0

Jox Traex, что не так, он должен позвонить на новый номер, но это не просто тихо. – user1084081

ответ

0

Я столкнулся с той же проблемой с Galaxy S3 (GT-I9300). Я попытался начать новую деятельность вместо того, чтобы стрелять ACTION_CALL (Мой код также запускает ACTION_CALL изначально, но изменен для отладки). В ситуации он работает с отладчиком, но не работает без вложения отладчика.