15

Sto cercando di fare la mia app chiamare un numero da un EditText, ma ottengo:trovate attività per gestire l'intento action.dial

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

Ho cercato un po 'per una risposta, ma la maggior parte le risposte sono permessi e aggiungono attività al Manifest. Ho fatto entrambe le cose, se non sto sbagliando. E lo sto eseguendo sul mio telefono, non sull'emulatore. Ho provato sia con che senza i filtri intent. Ecco i codici: 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> 

pulsante per effettuare la chiamata (ottiene il numero di telefono da SharedPrefs ad A1 sotto :)

 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); 
     } 
    }); 

risposta

52

Ring Tel nr. 123456789 non è un numero di telefono valido, e che è ciò che è nel tuo Intent. "Telnr:" + a1 non sembra essere valido. Utilizzare tel: seguito dal numero di telefono come il valore passato a Uri.parse():

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

Aah! Grazie! Ho pensato "tel:" potrebbe essere qualsiasi stringa. -Lo l'ha risolto Unico problema ora è che se il primo numero è uno 0, viene rimosso automaticamente. Ma questo è un altro problema, che probabilmente scoprirò presto. Grazie ancora! – Sluggo

3

assicurarsi di utilizzare questa autorizzazione, stesso è accaduto per me

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

Action.Dial non richiede alcuna autorizzazione. Action.Call richiede tale autorizzazione. –

+0

@OguzOzcan il mio problema è stato risolto dopo aver aggiunto il permesso, la gente accetta la risposta in base al voto positivo. –

+0

Non sono gli upvotes a fare qualcosa di corretto. Basta google e vedrai la mia risposta su Internet. Ma ancora nel tuo caso potrebbe riguardare la versione di sdk di compilazione. Non molto sicuro. –