2011-02-09 29 views
7

Tôi đang viết đơn đăng ký ngành sẽ được các nhân viên kiểm soát lưu thông sử dụng để đăng ký hành vi vi phạm thông qua chương trình của tôi bằng biểu mẫu.Tắt nút trang chủ Android cho ứng dụng trong ngành

Ứng dụng đang sử dụng chế độ xem web để nó chỉ là vùng chứa cho trang web bên ngoài. Chúng tôi không muốn người dùng của mình thoát khỏi ứng dụng vì vậy chúng tôi phải tắt tất cả các nút. Tôi đã thành công trong việc vô hiệu hóa chúng ngoại trừ nút home.

Tôi đã đọc một số chủ đề về chủ đề này, nhưng tôi chưa có bất kỳ giải pháp nào. Ý tưởng là tôi có thể biến ứng dụng trở thành ứng dụng mặc định của nhà nên nếu người dùng nhấn nút trang chủ, ứng dụng sẽ khởi chạy ứng dụng của tôi và không thoát. Làm thế nào tôi có thể thực hiện điều đó? Nếu chúng ta phải chúng ta có thể giả mạo với bản thân Android (khi chúng ta cài đặt ứng dụng), nhưng nếu có một số giải pháp thông qua cấu hình nó sẽ được đánh giá cao.

+0

Để giảm bớt các vấn đề một chút, bạn có thể tạo một widget kích thước của toàn bộ màn hình chủ để bắt đầu ứng dụng của bạn. Khi người dùng nhấn 'Home' một cách tình cờ, anh ta có thể ngay lập tức quay trở lại. – 9000

Trả lời

10

Ý tưởng là tôi có thể đặt ứng dụng làm ứng dụng mặc định cho nhà nên nếu người dùng nhấn nút trang chủ sẽ khởi chạy ứng dụng của tôi và không thoát. Làm thế nào tôi có thể thực hiện điều đó?

Có một ứng dụng Trang chủ mẫu trong SDK Android của bạn. Phản ánh mục nhập tệp kê khai của nó, đặc biệt là đặt danh mục HOME trong hoạt động <intent-filter> của hoạt động.

Lần đầu tiên, công cụ quản lý lưu lượng truy cập sau khi cài đặt ứng dụng của bạn, trình chọn sẽ xuất hiện để chạy ứng dụng chủ. Chọn hộp kiểm và nhấn vào ứng dụng của bạn sau đó sẽ có nghĩa là nút HOME sẽ chạy ứng dụng của bạn mãi mãi.

Ngoài việc tạo ra một ứng dụng nhà tùy chỉnh, mặc dù, không có cách nào để chặn nút HOME ngoại trừ thông qua sửa đổi phần sụn.

+0

Ok, cảm ơn. Điều đó rất hữu ích. Vì bộ phận hỗ trợ của chúng tôi cài đặt phần mềm trên các PDA, chúng tôi có thể cung cấp cho họ hướng dẫn để đặt ứng dụng của chúng tôi ở chế độ nhà riêng. –

+0

Nếu tôi muốn sử dụng lại màn hình chính mặc định cũ thì sao? Sẽ gỡ cài đặt ứng dụng nhà của tôi làm điều này? – Mudassir

+1

@Mudassir: Gỡ cài đặt màn hình chính hiện tại sẽ hoạt động. Ngoài ra, trong phần Quản lý ứng dụng của Cài đặt, nếu bạn nhấp vào màn hình chính hiện tại, tôi nghĩ bạn sẽ có thể nhấp vào nút "Xóa mặc định", điều này sẽ khiến người dùng nhận lại trình chọn trên lần nhấp HOME tiếp theo. – CommonsWare

0
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    getWindow().addFlags( WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

}

@Override 
public void onBackPressed() { 

    return; 
} 

@Override 
public void onAttachedToWindow() 
{ 

     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  
     super.onAttachedToWindow(); 

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