2012-09-06 39 views
7

Làm cách nào để tiếp tục ứng dụng của tôi từ vị trí trước đó.Android: tiếp tục ứng dụng từ vị trí trước

Lưu ý rằng nó vẫn hoạt động, chỉ bị tạm dừng. Vì vậy, nếu tôi nhấp vào nút ứng dụng hiện tại của android hoặc biểu tượng ứng dụng, nó sẽ tiếp tục tốt.

Nhưng ai để tôi làm điều này từ phụ tùng của tôi ..

Tôi đã điều sau đây:

// Create an Intent to launch Activity 
Intent intent = new Intent(context, LoginForm.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

Điều này rõ ràng ra mắt LoginForm như trái ngược với chỉ nối lại các ứng dụng.

Có ai biết cách thực hiện việc này không?

Chỉnh sửa:

Chỉ cần làm rõ, tôi không muốn bất kỳ điều gì đặc biệt. Tôi về cơ bản muốn bắt chước nhấn launcher biểu tượng android.

+0

Xem [này] (http://stackoverflow.com/questions/3268962/when-is-it-necessary-to-use -single-top-launchmode-in-an-android-widget-hoặc-applic) SO câu hỏi (có thể trùng lặp) – Luke

+0

Xin vui lòng không cố gắng để gây rối với các chế độ khởi động để thực hiện công việc này. Nó không phải là cần thiết và tạo ra nhiều rắc rối sau này. –

Trả lời

12

Bạn đã cơ bản đã trả lời câu hỏi của riêng bạn ;-)

Chỉ cần mô phỏng những gì Android làm khi bạn khởi động ứng dụng:

Intent intent = new Intent(context, LoginForm.class); 
intent.setAction(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

hoặc bạn có thể thử này (giả sử LoginForm là hoạt động thư mục gốc của ứng dụng của bạn và có một phiên bản hoạt động này vẫn hoạt động trong ngăn xếp nhiệm vụ):

Intent intent = new Intent(context, LoginForm.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 

Thiết lập FLAG_ACTIVITY_NEW_TASKnên chỉ mang lại một tác vụ xuất hiện cho ứng dụng từ nền sang nền trước mà không thực sự tạo ra một thể hiện của hoạt động. Hãy thử điều này trước. Nếu nó không hiệu quả với bạn, hãy làm cái kia.

+1

Đau đầu biến mất. Cảm ơn người đàn ông! :) Nó bây giờ tiếp tục tại những gì hoạt động bao giờ nó cuối cùng còn lại tại :) – Doomsknight

+0

Giải pháp ACTION_MAIN sẽ không hoạt động trên mọi thiết bị. Chỉ cần thử nghiệm mà không có thiết bị samsung hỗ trợ nó! –

+0

Giải pháp ACTION_MAIN hoạt động trên Samsung J3. – fadedbee

0

Sử dụng này, nó là giống như android làm cho hoạt động phóng của bạn

Intent notificationIntent = new Intent(context, SplashActivity.class); 
     notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
     notificationIntent.setAction(Intent.ACTION_MAIN); 
     notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
     PendingIntent clickActionIntent = PendingIntent.getService(context, 0, notificationIntent, 0); 
Các vấn đề liên quan