Tidak ada Aktivitas ditemukan untuk menangani Intent {}
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
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 constraintLayout
pernyataan di bawah Anda adalah nol dan Anda tidak dapat memanggil setBackgroundResource
kecuali 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.layout
benar-benar ada dalam activity_home.xml
tata letak sebagai langkah pemecahan masalah pertama
constraintLayout = (ConstraintLayout) findViewById(R.id.layout);
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.