No se encontró actividad para manejar Intent {}
En mi aplicación meteorológica , la pantalla de bienvenida se ejecuta bien, pero cuando entra HomeActivity
, se muestra app has stopped
cuando la probé en mi dispositivo.
en el logcat
, muestra:
No Activity found to handle Intent { }
Mientras tanto, pasé la intención en mi pantalla de inicio:
int SPLASH_SCREEN = 5000;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
finish();
}
}, SPLASH_SCREEN);
}
}
Mi código HomeActivity:
public class HomeActivity extends AppCompatActivity {
ConstraintLayout constraintLayout;
public static int count=0;
int[] drawable =new int[]{R.drawable.burj_khalifa,R.drawable.central_bank_of_nigeria,R.drawable.eiffel_tower,R.drawable.hong_kong,R.drawable.statue_of_liberty};
Timer _t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
constraintLayout = (ConstraintLayout) findViewById(R.id.layout);
constraintLayout.setBackgroundResource(R.drawable.burj_khalifa);
_t = new Timer();
_t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() { // run on ui thread
@Override
public void run() {
if (count < drawable.length) {
constraintLayout.setBackgroundResource(drawable[count]);
count = (count + 1) % drawable.length;
}
}
});
}
}, 5000, 5000);
}
}
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tex.lightweatherforecast">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Activity.HomeActivity"
android:label="@string/title_activity_home" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>
</manifest>
activity_home.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/burj_khalifa"
tools:context=".Activity.HomeActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
¿Hay algo para corregir esto?
Respuestas
Entonces, eliminar finish();
desde el interior de su controlador resolverá esto
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
finish();
}
}, SPLASH_SCREEN);
Si desea eliminar la pantalla de presentación de la pila, puede hacerlo
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intente invocar el método virtual 'void androidx.constraintlayout.widget.ConstraintLayout.setBackgroundResource (int)' en una referencia de objeto nulo
Ahora está en HomeActivity onCreate
, y esto es diferente de No Activity found to handle Intent { }
Error.
esto le dice que su constraintLayout
declaración a continuación es nula y no puede llamar a setBackgroundResource
menos que la inicialice con un valor no nulo
constraintLayout.setBackgroundResource(R.drawable.burj_khalifa);
Lo obtuvo del diseño de su actividad, debe verificar que esta identificación R.id.layout
realmente exista en el activity_home.xml
diseño como primer paso de solución de problemas
constraintLayout = (ConstraintLayout) findViewById(R.id.layout);
En su manifiesto, intente escribir solo .HomeActivity en lugar de .Activity.HomeActivity Además, si todavía muestra un error, creo que no puede escribir 'R.id.layout' solo porque 'diseño' es una palabra clave, así que intente definir cualquier otra identificación para su restricción diseño.