15

Ich versuche, meine App rufen Sie eine Nummer aus einem EditText zu machen, aber ich bekomme:Keine Aktivität Absicht behandeln action.dial

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.DIAL dat=Ring Tel nr. 123456789 } 

ich eine Weile nach einer Antwort gesucht haben, aber die meisten der Antworten sind Berechtigungen und fügen Aktivität zum Manifest hinzu. Ich habe beides gemacht, wenn ich es nicht falsch mache. Und ich betreibe es auf meinem Handy, nicht auf dem Emulator. Ich habe beides mit und ohne den Intent-Filter ausprobiert. Hier sind die Codes: Manifest: <uses-permission android:maxSdkVersion="19" android:name="android.permission.CALL_PHONE"/>

 <activity 
     android:name="nu.sluggo.testapp.annons.Activity2"> 
     <intent-filter> 
    <action android:name="android.intent.action.DIAL" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

Taste, um den Anruf zu tätigen (bekommt Telefonnummer von SharedPrefs unten an a1 :)

 knapp_ring.setOnClickListener(new View.OnClickListener() { 
     Intent call = new Intent(Intent.ACTION_DIAL); 
     @Override 
     public void onClick(View v){ 
      call.setData(Uri.parse("Telnr:" + a1)); 
      startActivity(call); 
     } 
    }); 

Antwort

52

Ring Tel nr. 123456789 ist keine gültige Telefonnummer, und dass ist, was in Ihrem Intent ist. "Telnr:" + a1 scheint auch nicht gültig zu sein. Verwenden Sie tel: durch die Telefonnummer ein, wie der Wert auf Uri.parse() geben:

Uri.parse("tel:" + a1) 
+0

Aah! Vielen Dank! Ich dachte "Tel:" könnte eine beliebige Zeichenfolge sein. -Das hat es behoben. Das einzige Problem ist jetzt, dass, wenn die erste Zahl eine 0 ist, sie automatisch entfernt wird. Aber das ist ein anderes Problem, das ich wahrscheinlich bald herausfinden werde. Danke noch einmal! – Sluggo

3

stellen Sie sicher, diese Erlaubnis zu verwenden, das gleiche passierte mir

<uses-permission android:name="android.permission.CALL_PHONE" /> 
+5

Action.Dial erfordert keine Berechtigung. Action.Call benötigt diese Berechtigung. –

+0

@OguzOzcan mein Problem wurde nach dem Hinzufügen der Erlaubnis gelöst, die Leute stimmen der Antwort nach oben Abstimmung. –

+0

Es ist nicht die Upvotes, die etwas richtig machen. Googeln Sie es einfach und Sie werden meine Antwort im Internet sehen. Aber in Ihrem Fall könnte es sich um die Version von kompilieren sdk handeln. Nicht sehr sicher. –