Ralat ini berlaku apabila aktiviti, perkhidmatan, penerima siaran atau pembekal kandungan tidak menyatakan secara eksplisit atribut yang dieksport. Atribut yang dieksport menentukan sama ada komponen boleh dilancarkan atau diikat oleh komponen di luar aplikasi.
Untuk menyelesaikan isu ini, anda perlu menambah atribut yang dieksport dan menetapkannya kepada benar untuk semua komponen yang anda mahu boleh diakses di luar aplikasi. Contohnya, jika anda mempunyai aktiviti yang anda mahu boleh dilancarkan daripada aplikasi lain, anda akan menambah baris berikut pada fail manifes:
<activity android:name=".MainActivity" android:exported="true" />
Ralat ini diperkenalkan dalam Android 12, yang memerlukan pembangun untuk menyatakan secara eksplisit atribut yang dieksport untuk semua komponen yang mempunyai penapis niat yang ditentukan. Ini kerana Android 12 mempunyai ciri keselamatan baharu yang menghalang komponen daripada dilancarkan atau diikat oleh komponen di luar aplikasi melainkan atribut yang dieksport ditetapkan kepada benar secara eksplisit.
Berikut ialah panduan langkah demi langkah tentang cara untuk membetulkan ralat:
Setelah anda membuat perubahan ini, ralat harus diselesaikan.
Atas ialah kandungan terperinci Mengapakah apl Android saya melemparkan ralat 'atribut yang dieksport tidak ditentukan' dalam Android 12?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!