No se encontró actividad para manejar Intent {}

Nov 28 2020

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

3 Zain Nov 28 2020 at 22:26

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 constraintLayoutdeclaración a continuación es nula y no puede llamar a setBackgroundResourcemenos 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.layoutrealmente exista en el activity_home.xmldiseño como primer paso de solución de problemas

 constraintLayout = (ConstraintLayout) findViewById(R.id.layout);
Jamal Nov 28 2020 at 21:58

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.