Tidak ada Aktivitas ditemukan untuk menangani Intent {}

Nov 28 2020

Di aplikasi cuaca saya , splash screen berjalan dengan baik tetapi saat masuk ke HomeActivity, layar akan ditampilkan app has stopped saat saya mengujinya di perangkat saya

di logcat, ini akan menampilkan:

No Activity found to handle Intent {  }

Sementara itu saya menyampaikan maksud di layar splash saya:

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

Kode HomeActivity saya:

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>

Apakah ada yang perlu diperbaiki?

Jawaban

3 Zain Nov 28 2020 at 22:26

Jadi, melepas finish();dari dalam handler Anda akan menyelesaikan masalah ini

       new Handler().postDelayed(new Runnable() {
           @Override
           public void run() {
               Intent intent = new Intent(MainActivity.this, HomeActivity.class);
               startActivity(intent);
               finish();
           }
       }, SPLASH_SCREEN);

Jika Anda ingin menghapus splash screen dari tumpukan, maka Anda bisa melakukannya

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Mencoba menjalankan metode virtual 'void androidx.constraintlayout.widget.ConstraintLayout.setBackgroundResource (int)' pada referensi objek null

Sekarang Anda berada di HomeActivity onCreate, dan ini berbeda dari No Activity found to handle Intent { }Error.

ini memberitahu bahwa constraintLayoutpernyataan di bawah Anda adalah nol dan Anda tidak dapat memanggil setBackgroundResourcekecuali Anda menginisialisasi dengan nilai bukan-nol

 constraintLayout.setBackgroundResource(R.drawable.burj_khalifa);

Anda mendapatkannya dari tata letak aktivitas, Anda perlu memeriksa apakah id ini R.id.layoutbenar-benar ada dalam activity_home.xmltata letak sebagai langkah pemecahan masalah pertama

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

Dalam manifes Anda, coba tuliskan saja .HomeActivity daripada .Activity.HomeActivity Selain itu jika masih menunjukkan kesalahan daripada saya pikir Anda tidak dapat menulis 'R.id.layout' hanya karena 'layout' adalah kata kunci, jadi coba definisikan id lain apa pun ke batasan Anda tata letak.