2011-01-07 42 views
6

Tôi có một ứng dụng có nhiều hoạt động. Trên một trong số họ, tôi thiết lập một báo động. Tôi nhấn nút HOME. Khi báo thức được kích hoạt, một thông báo sẽ xuất hiện. Khi nhấp vào thông báo, tôi bắt đầu một Hoạt động giống như đối thoại (@android: style/Theme.Dialog). Mặc dù tôi đang ở trên màn hình máy tính để bàn, Android mở hoạt động cuối cùng của tôi và sau đó hiển thị hoạt động giống như cuộc đối thoại của tôi trên đó. Tôi chỉ muốn hiển thị hoạt động đối thoại của mình ở bất cứ đâu người dùng.Hoạt động bắt đầu từ thông báo được mở ở đầu ngăn xếp hoạt động

Có ai có ý tưởng gì không?

Intent notificationIntent = new Intent(this, NotificationActivity.class); 
notificationIntent.putExtra(Constants.EXTRA_ALERT_MESSAGE, contentText); 
PendingIntent contentIntent = PendingIntent.getActivity(this, Constants.PENDING_INTENT_REQ_DIALOG, notificationIntent, 0); 
no.contentIntent = contentIntent; 

Trả lời

12

Bạn có thể muốn thiết lập android:taskAffinityandroid:launchMode="singleTask" trong file manifest của bạn cho hoạt động thoại của bạn. Thiết lập taskAffinity sẽ gây ra Activity để khởi chạy trong một nhiệm vụ riêng biệt với ngăn xếp của chính nó. Các singleTask có thể hoặc có thể không hoàn toàn thích hợp cho ứng dụng của bạn nhưng có thể bạn sẽ muốn hoặc là nó hoặc singleInstance tùy thuộc vào trường hợp sử dụng của bạn. Bạn sẽ cần phải đọc tài liệu để xác định tài liệu nào sẽ hoạt động cho bạn.

Các vấn đề liên quan