Để dự án ứng dụng Android của tôi, tôi đã thêm một mô-đun có chứa hoạt động có tên "SampleDataMenuActivity". Không có gì đặc biệt đối với hoạt động này - nó được thêm bằng hộp thoại "Mô-đun mới" -> "Thư viện Android" trong Android Studio và bao gồm mã "Hello World" do Android Studio tạo.Không thể khởi chạy hoạt động trong Mô-đun thư viện Android
Các AndroidManifest.xml của ứng dụng bao gồm (từ module):
<activity
android:name="com.sample.sampledata.SampleDataMenuActivity" >
<intent-filter>
<action android:name="android.intent.action.SampleDataMenuActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Trong build.gradle của ứng dụng:
dependencies {
(...)
compile project(':sampledata')
}
Trong settings.gradle của dự án:
include ':sampledata', ':app'
Trong hoạt động chính của ứng dụng, tôi muốn điều hướng đến hoạt động trong mô-đun bằng cách sử dụng:
startActivity(new Intent("com.sample.sampledata.SampleDataMenuActivity"));
Dự án được xây dựng tốt, nhưng khi tôi chạm vào nút đó nên đưa tôi đến hoạt động trong module nó không thành công, báo cáo:
android.content.ActivityNoFoundException: No Activity found to handle Intent (act=com.sample.sampledata.SampleDataMenuActivity)
đã làm tôi nhớ gì?
Tại sao lại có trong ? Chỉ tò mò thôi. Tôi muốn làm điều tương tự. –
hadez30
Có lẽ nhiều người có khả năng hơn để trả lời câu hỏi này nhưng tôi sẽ thử: Khi bắt đầu một hoạt động bằng cách sử dụng 'startActivity (new Intent (" ")' ứng dụng tìm kiếm một mục đích khớp với tên hành động và sau đó khởi chạy Để khởi chạy một hoạt động, bạn có thể đặt tên cho bất kỳ tên nào bạn muốn, nhưng theo hiểu biết của tôi, sử dụng đường dẫn đầy đủ của lớp hoạt động được coi là thực hành tốt và làm cho mã của bạn dễ đọc hơn và có thể bảo trì được .. –
jerry
Tuyệt vời, cảm ơn! Điều đó có ý nghĩa. :) – hadez30