Android: No se puede encontrar la clase de actividad explícita … startActivity desde una preferenciaActividad
Estoy tratando de iniciar una nueva Actividad de una PreferenciaActividad. Sin embargo, falla con "No se puede encontrar la clase de actividad explícita. ¿Ha declarado esta actividad en su AndroidManifest.xml?"
Bueno, sí, lo declaré:
- Android CheckBoxPreference - un / marque todas las preferencias
- DialogFragment en PreferenceActivity
- Pantalla de Preferencias de Android sin XML
- Valor predeterminado del tono de llamada de preferencia
- Cómo utilizar la nueva API de las preferencias, presentada en la nueva biblioteca de soporte 23
<application [......] android:debuggable="true"> <activity android:name=".AlarmSettings" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".FlashLightActivity"></activity> <receiver android:name="AlarmReceiver" android:process=":remote" > </receiver> </application>
AlarmSettings es mi PreferenceActivity. AlarmSettings llama a FlashLightActivity de esta manera:
Intent i = new Intent(AlarmSettings.this, FlashLightActivity.class); startActivity(i);
Y esto es FlashLightActivity:
public class FlashLightActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.flashlight); } }
… No se que hacer. ¿Algunas ideas?
- Recargar preferencias en PreferenciaActividad al reanudar
- Iniciar actividad de los encabezados de preferencia
- Cómo detectar cuándo una PreferenceScreen interna ha sido cerrada
- EditTextPreference ¿Deshabilitar botones?
- Errores de compilación de Android
- Cree su propia preferencia de SwitchCompat
- Nuevo tema incorrecto de la biblioteca de soporte de preferencias en tiempo de ejecución
- ¿Cómo agregar la barra de acción de la biblioteca de soporte en PreferenceActivity?
Copiar la solución del póster en la sección de respuestas, para eliminar esto del filtro "Sin Respuesta":
No era un problema con mi código, pero con Eclipse y el SDK de Android. Después de algunas investigaciones, hice "Ayuda -> Buscar actualizaciones" en Eclipse y todo está funcionando ahora.
También tuve este problema. Si usted lee cuidadosamente el error en el logcat, sabrá qué hacer.
Tienes que declarar la actividad en el archivo AndroidManifest.xml
<activity android:name=".TheNameOfMyActivity" android:label="@string/app_name" > <intent-filter> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
Para mí este error se produjo porque había movido mi archivo de clase de actividad a un paquete diferente y por alguna razón Eclipse no lo refactorizó correctamente. Utilice siempre un nombre completo para su actividad y compruebe que es exacta.
Al iniciar una actividad desde dentro de otra, es necesario que proporcione a su archivo AndroidManifest la relación padre-hijo, para asegurarse de que la actividad iniciada le devolverá el resultado requerirá la actividad de los padres. ejemplo,
<activity android:name="ACTIVITY TO BE STARTED" android:label="@string/TITLE" android:screenOrientation="landscape" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="ACTIVITY STARTED FROM?RETURNING TO" /> </activity>
Tuve el mismo problema, lo que hice fue escribir la declaración de Intención dentro de la función onCreate
del Servicio o del Layout. En realidad eso es lo que dijo 'no podía acceder a Explicity'