26

No se encontró actividad para manejar el error de intención? Cómo se resolveráAndroid: ¿No se encontró actividad para manejar el error de intención? ¿Cómo se resolverá

Preference customPref = (Preference) findPreference("DataEntryScreen"); 
    customPref 
     .setOnPreferenceClickListener(new OnPreferenceClickListener() { 
     public boolean onPreferenceClick(Preference preference) {     

     Intent i = new Intent("com.scytec.datamobile.vd.gui.android.AppPreferenceActivity"); 
       startActivity(i); 
        return true;           
       } 
      }); 
+0

¿ha registrado el filtro de intención ('" com.scytec.datamobile.vd.gui.android.AppPreferenceActivity "') para la actividad en manifiest? – Karthik

+1

No. ¿cómo puede? por favor escriba la intención correcta? quiero decir el código –

+0

publique su archivo de manifiesto aquí, (con la entrada correspondiente a la actividad - AppPreferenceActivity). entonces podemos ayudarte con el código correcto. – Karthik

Respuesta

40

Añadir el siguiente a su manifiesta:.

<activity android:name=".AppPreferenceActivity" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="com.scytec.datamobile.vd.gui.android.AppPreferenceActivity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
    </activity> 
+0

Al hacer clic en la marca de verificación, aparecerá la respuesta. Ver http: // stackoverflow.com/faq # howtoask – Karthik

+0

Tenga en cuenta que la sangría en el fragmento está desactivada - 'categoría' está en el mismo nivel que 'acción' - el código es correcto, pero para aquellos que pueden escribir 'categoría' como elemento secundario .. – Andy

+0

@Andy Gracias. Correcto, puede causar confusión. Editado el código. – Karthik

1

Intención intención = new Intent (cadena) se define para la tarea de parámetros, mientras que usted está pasando parámetro componentname en esto, utilizar en su lugar:

Intent i = new Intent(Settings.this, com.scytec.datamobile.vd.gui.android.AppPreferenceActivity.class); 
        startActivity(i); 

En esta declaración reemplazar ActivityName por Nombre de la clase de la actividad, el código reside en

+0

he constructor Intención (nueva Preference.OnPreferenceClickListener() {}, Clase ) no está definida –

+0

use su primer nombre de actividad en lugar de ActivityName en lugar de esto solamente, ya que el primer parámetro debe ser instancia de una Actividad. – jeet

14

en mi caso, estaba seguro de que la acción era correcta, pero estaba pasando una URL incorrecta, pasé el enlace del sitio web sin el http: // en su inicio, por lo que causó el mismo problema, aquí está mi manifiesto (parte de es)

<activity 
     android:name=".MyBrowser" 
     android:label="MyBrowser Activity" > 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="com.dsociety.activities.MyBrowser" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:scheme="http" /> 
     </intent-filter> 
    </activity> 

cuando I cÓDIGO lo siguiente, la misma excepción se produce en tiempo de ejecución:

Intent intent = new Intent(); 
intent.setAction("com.dsociety.activities.MyBrowser"); 
intent.setData(Uri.parse("www.google.com")); // should be http://www.google.com 
startActivity(intent); 
5

en general, para evitar este tipo de excepciones, tendrá que rodear su código por tratar de atrapar como este

try{ 

// your intent here 

} catch (ActivityNotFoundException e) { 
// show message to user 
} 
Cuestiones relacionadas