2017-03-28 3 views
0

ich erstelle Telefon Dialer in android.i habe ein TextView onclick ich bekomme Wert von ihm. Und ich versuche diese Nummer auf Dialer zu setzen. Aber wenn ich versuche, Intent.Action_Dialer zeigt einigen zusätzlichen Wert zu nennen darinOnclick textView android Dialer zeigt einige zusätzliche Nummer?

INPUT-1234567890 // durch Textview kommenden OUTPUT-6624531234567890 // zeigt auf Dialer This is code which i am using

tvpMobile.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      String phone = tvpMobile.getText().toString().trim();// value of phone is- 1234567890 
      Intent e = new Intent(Intent.ACTION_DIAL); 
      e.setData(Uri.parse("tel:" + phone)); 
      e.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      //e.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(e); 
     } 
    } 
+0

Versuchen Sie das mal wirklich aussieht, was Sie bekommen würden, wenn Sie versehentlich ein 'Objekt # toString()' zu Ihrer Nummer und 'Uri.parse()' 'd es vorangestellt. Dieser Code sieht jedoch gut aus. Haben Sie versucht, Ihr Projekt zu reinigen/neu aufzubauen? –

+0

ja .. ich habe Reinigung und Wiederaufbau viele Zeit..ich habe ich auch mit anderen Telefon versucht..aber das gleiche Ergebnis @ MikeM. – Abhay

+0

Ich habe gerade Ihren genauen Code auf einem 'TextView' mit" 1234567890 "als Text getestet. Es funktioniert gut. Irgendwo hast du etwas falsch gemacht. –

Antwort

0

Verwenden Sie dies kann es Ihnen helfen.

btn_call.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       try { 
        Intent callintent = new Intent(Intent.ACTION_CALL); 
        callintent.setData(Uri.parse("tel:" + ed_call.getText().toString())); 
        if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 
         // TODO: Consider calling 
         return; 
        } 
        startActivity(callintent); 
       } catch (Exception e) { 
        e.printStackTrace(); 


       } 
      } 
     }); 

und Design Code

<EditText 
     android:id="@+id/ed_call" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

    <Button 
     android:id="@+id/btn_call" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Call" /> 
0
Intent callIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phone)); 
startActivity(callIntent): 

Ich glaube nicht, dass Sie die Erlaubnis dafür brauchen, weil Benutzer manuell für die Aktion Anruf bestätigt.

+0

Dieser Code gibt auch falsche Wert auf Dialer – Abhay

+0

Verschieben Sie Ihren Code innerhalb onActivityCreated(), wenn Sie diesen Code in Fragment verwenden –

0

diesen

Intent intent = new Intent(Intent.ACTION_CALL); 
        intent.setData(Uri.parse("tel:" + numberString + "")); 
        startActivity(intent);