2015-01-13 25 views
5

Có vẻ như cách hiện tại để loại trừ ứng dụng khỏi danh sách ứng dụng gần đây trong Android L bị hỏng. Ứng dụng của chúng tôi đang sử dụng android: excludeFromRecents và nó hoạt động tốt. Trừ khi ứng dụng của chúng tôi là ứng dụng FIRST để bắt đầu khi thiết bị khởi động lại.Android: excludeFromRecents có bị hỏng cho ứng dụng đầu tiên được khởi chạy trên thiết bị trên Android L không?

Đây là cách nó trông khi ứng dụng của chúng tôi là đã thoát như các ứng dụng đầu tiên trên thiết bị: InBrowser, with android:excludeFromRecents, started as the first app on device

Và đây là cách có vẻ nếu chúng ta đầu tiên khởi động máy ảnh (hoặc bất kỳ ứng dụng khác), sau đó ứng dụng của chúng tôi và thoát cả hai: Camera is started first, then InBrowser. Working as expected.

Chỉ cần đặt: Nếu ứng dụng có android: excludeFromRecents được bắt đầu là ứng dụng đầu tiên trên thiết bị, chỉ thị android: excludeFromRecents không hoạt động. Nếu ứng dụng khác đã được bắt đầu trước ứng dụng android: excludeFromRecents-app, ứng dụng này hoạt động như mong đợi.

Đây có phải là một lỗi trường hợp thực sự kỳ lạ hoặc tôi đang thiếu một cái gì đó rất rõ ràng ở đây?

Chúng tôi xây dựng một trình duyệt web rất riêng tư thận trọng (http://inbrowserapp.com), vì vậy chúng tôi không thể có bất kỳ ảnh chụp màn hình nào từ ứng dụng hiển thị khi ứng dụng bị đóng. Nhưng điều này cũng sẽ ảnh hưởng đến các ứng dụng ngân hàng, quản lý mật khẩu, vv vì thông tin nhạy cảm sẽ được chia sẻ nếu ứng dụng là lần đầu tiên bắt đầu sau khi khởi động lại.

Có lẽ chúng ta có thể đi về tuyến đường và ẩn thông tin nhạy cảm với chế độ xem trống khi người dùng thoát trên Android L. Nhưng có vẻ như có gì đó không ổn ở đây?

+0

Điều đó chắc chắn có vẻ kỳ quặc. [Một vấn đề] (https://code.google.com/p/android/issues/detail?id=94507) đã được nộp vào nó một vài ngày trước - không chắc chắn nếu đó là từ ai đó với nhóm của bạn. Bạn có thể tăng cường báo cáo vấn đề đó với những gì bạn thấy, vì kể từ khi ứng dụng của bạn khả dụng, các kỹ sư của Google sẽ dễ dàng tái sản xuất hơn. – CommonsWare

+0

Cảm ơn @CommonsWare, tôi sẽ làm điều đó! (Không, không phải từ nhóm của chúng tôi - nhưng hy vọng một kỹ sư google sẽ nhận thấy vấn đề này). – Tommie

+0

Tính năng này hoạt động ở 5.0 nhưng không hoạt động ở 5.0.1. Tôi không lý do tại sao –

Trả lời

3

Tôi rất vui khi nói rằng điều này là cố định cho Android 5.1. Chỉ cần xác nhận nó trên một thiết bị chạy 5.1.

Vì vậy, giải pháp đúng, cho chúng tôi dù sao, là từ chối ảnh chụp màn hình với getWindow(). AddFlags (WindowManager.LayoutParams.FLAG_SECURE); cho Lollipop với SDK phiên bản 21, mọi thứ bên dưới hoặc cao hơn sẽ tốt.

+0

Tôi không biết tại sao tính năng này hoạt động ở 5.0 nhưng không hoạt động ở 5.0.1. Vui lòng giải thích –

+0

@Ajit Đối với chúng tôi, nó chỉ là targetSdkVersion 21 bị ảnh hưởng. – Tommie

1

Bạn ít nhất có thể ngăn ảnh chụp màn hình ở gần đây bằng cách đặt cờ này: getWindow(). AddFlags (WindowManager.LayoutParams.FLAG_SECURE);

Nhưng nó vẫn là một lỗi mà không bao giờ nên làm cho nó để phát hành ..

+0

Tôi sẽ phê duyệt điều này như là câu trả lời chính xác cho bây giờ. Chúng tôi đã quyết định thực hiện FLAG_SECURE trên tất cả các thiết bị chạy L cho đến khi Google triển khai bản sửa lỗi cho android bị hỏng: excludeFromRecents. – Tommie

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