Là một thay thế cho câu trả lời của Dalmas, bạn có thể thực sự xuất Activity
mà không cần tạo <intent-filter>
(cùng với những rắc rối khi đến với một hành động tùy chỉnh).
Trong Manifest
chỉnh sửa thẻ Activity
bạn như vậy:
<activity
android:name=".SomeActivity"
....
android:exported="true" />
Phần quan trọng là android:exported="true"
, thẻ export
này xác định "có hay không hoạt động có thể được đưa ra bởi các thành phần của ứng dụng khác". Nếu số <activity>
của bạn chứa <intent-filter>
thì thẻ này được đặt thành true
tự động, nếu không thì nó được đặt thành false
theo mặc định.
Sau đó, để khởi động Activity
làm điều này:
Intent i = new Intent();
i.setComponent(new ComponentName("package name", "fully-qualified name of activity"));
startActivity(i);
Tất nhiên với phương pháp này bạn sẽ cần phải biết chính xác tên của hoạt động bạn đang cố gắng để khởi động.
Nguồn
2012-07-18 23:09:57
Cảm ơn, tôi vừa đọc qua Tệp kê khai Barcodescanner và phát hiện ra điều tương tự. :] – Force