2016-06-15 2 views
0

Y at-il une option pour mettre un délai pour faire un appel dans Android?Comment mettre un délai pour les appels sortants

Une fois que l'utilisateur cliquez sur le bouton d'appel ci-dessous méthode est appelée

public class DialBroadcastReceiver extends BroadcastReceiver { 

     @Override 
     public void onReceive(Context context, Intent intent) { 

      Log.v("DileBroadCastReceiver","In onReceive()"); 

      if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 
       String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 

       Log.v("DialBroadcast Receiver","Number is: "+number); 

      } 

     } 
} 

Ensuite, l'utilisateur de l'adversaire réception d'appel. Ce dont j'ai besoin, c'est quand l'utilisateur clique sur le bouton d'appel, je devrais mettre un délai d'une seconde ou deux secondes, Y at-il une option pour faire comme ça.

Je suis un nouveau développeur, Pouvez-vous m'aider s'il vous plaît.

Répondre

1
 try { 
      //set time in mili 
      Thread.sleep(3000); 

     }catch (Exception e){ 
      e.printStackTrace(); 
     } 

ou

new Handler().postDelayed(new Runnable() { 

       @Override 
       public void run() { 
        //do something 
       } 
      }, 3000//time in milisecond 
); 
+0

intérieur BroadcastReceiver? – MathaN

+0

@MathaN oui U peut utiliser dans votre BroadcastReceiver –

+0

@MathaN have U Try? –

1

l'intérieur de votre fonction onReceive

Handler mHandler = new Handler(); 
mHandler.postDelayed(new Runnable(){ 
    @Override 
    public void run() { 
     if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) { 
      String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
      Log.v("DialBroadcast Receiver","Number is: "+number); 
     } 
    } 
}, 2000); // 2000 for two seconds in milis