Tôi đang tạo ứng dụng độc quyền cho một công ty sẽ không bao giờ phát hành ứng dụng đó trên Android Market (hoặc Cửa hàng Play mà tôi đoán bây giờ) trong Ice Cream Sandwich (Android 4.0).Vô hiệu hóa nút Home trong Android ICS (4.0)
Tôi cần tắt Trang chủ để người dùng không thể gỡ cài đặt phần mềm độc hại hoặc xóa dữ liệu mà ứng dụng chụp. Phiên bản mới nhất này là phiên bản đầu tiên được viết trong phiên bản 4.0, các phiên bản trước đó được viết bằng phiên bản 2.2 và 3.2.
Để tắt nút Màn hình chính trong 2.2, tôi đã liên kết ứng dụng dưới dạng thay thế nhà, vì vậy nút vừa mở lại ứng dụng, nhưng tôi không thể sử dụng phương pháp này nữa, điều này phần nào ngăn cản chúng tôi thực hiện cập nhật của mình cho ứng dụng . (chúng tôi không muốn để cung cấp cho người dùng tùy chọn chọn lại một mặc định Home, vì điều đó sẽ dẫn đến xóa dữ liệu
mã tôi có cho tắt chức năng nút Home trong 3.2 là:
@Override
public void onAttachedToWindow() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
và, trong onCreate:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
Nhưng khi tôi chạy cùng một mã làm việc trên máy tính bảng 3.2 của tôi, nó không hoạt động trên máy tính bảng 4.0 của tôi.
Tôi đã tự hỏi liệu có một API hoặc phương pháp mới mà 4.0 có sẽ thực hiện tác dụng tương tự như tôi hiện có trong bản triển khai 3.2 của tôi hay không.
Cảm ơn mọi trợ giúp hoặc chỉ đường.
Adam
Ứng dụng của bạn hoạt động như phần mềm độc hại ở chỗ nó kiểm soát thiết bị cách xa người dùng. Android 4.0+ được thiết kế để ngăn chính xác điều đó. – Dubs