2011-10-06 36 views
9

Tôi đã cố gắng gọi số ANativeActivity_finish (trạng thái-> hoạt động) từ mã khi chấm dứt yêu cầu ứng dụng. Công trình này, tuy nhiên ứng dụng của tôi không thể được khởi động lại và nó cho thấy sau trong LogCat:Làm cách nào để chấm dứt ứng dụng Android NDK (hoạt động gốc) một cách có lập trình?

W/ActivityManager( 238): Duplicate finish request for HistoryRecord 

Tất cả mọi thứ dường như hoạt động đúng khi người dùng nhấn nút quay lại, tuy nhiên tôi cần để có thể ban hành lệnh cảnh từ bên trong ứng dụng của tôi. Bất kì lời đề nghị nào?

Trả lời

4

Đó là cách. Tôi không biết làm thế nào bạn đang làm chính xác, tôi đoán rằng bạn làm điều đó gọi ở phần cuối của mã, sau đó trở về từ android_main.

Bạn phải ANativeActivity_finish() và tiếp tục với vòng lặp sự kiện cho đến android_app->destroyRequested. Trong trình xử lý sự kiện của bạn, bạn sẽ tìm thấy APP_CMD_STOPAPP_CMD_DESTROY thích hợp.

Làm theo cách này, bây giờ tôi không có vấn đề gì. Tôi đã từng làm điều đó với lối ra (0), nhưng đó không phải là điều đúng.

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