Tôi muốn bắt đầu một Intent động. Do đó, setClassName
có vẻ là lựa chọn tốt nhất.Không thể bắt đầu Mục đích mới bằng setClassName với gói khác trong Android
Trước tiên, tôi xác định 3 hoạt động trong Manifest
<activity android:name="com.example.pkg2.Act" />
<activity android:name="com.example.pkg1.Act1" />
<activity android:name="com.example.pkg1.Act2" />
Từ com.example.pkg2.Act
:
Intent intent = new Intent();
if(index == 0) intent.setClassName(Act.this, "com.example.pkg1.Act1");
else intent.setClassName(Act.this, "com.example.pkg1.Act2");
startActivity(intent);
Và sẽ nhận được ngoại lệ này:
Unable to find explicit activity class {com.example.pkg2.Act/com.example.pkg1.Act1}; have you declared this activity in your AndroidManifest.xml?
Dường như chúng ta chỉ có thể sử dụng setClassName
để tự động bắt đầu Hoạt động mới nhưng trong cùng một gói.
Bất kỳ ý tưởng nào để giải quyết vấn đề này? Tất cả trợ giúp đều được đánh giá cao.
' ' thay đổi Act1 để Act2 bạn đã tuyên bố Act1 hai lần? –
Cảm ơn @imrankhan Đó là lỗi của tôi khi sao chép-dán: p – anticafe
không sao, hãy xem câu trả lời cập nhật của tôi. –