2012-01-20 36 views
7

Tôi muốn tạo ứng dụng như vậy trong android sẽ được kích hoạt khi tôi nhấn nút ngủ hoặc nút nguồn hai lần, có thể thực hiện điều đó bằng cách chạy một ứng dụng trong nền và nghe sự kiện từ nút nguồn ?kích hoạt ứng dụng khi nhấn nút nguồn

một số lần điện thoại chuyển sang chế độ ngủ khi không sử dụng và sử dụng bất kỳ người dùng ứng dụng nào phải bấm nút ngủ và sau đó anh phải nhập mật khẩu nhất định để kích hoạt điện thoại. Nhưng tôi muốn làm cho nó kích hoạt ứng dụng của tôi khi một nút nguồn được nhấp mà không cần bất kỳ sự can thiệp nào khác

+0

bạn phải viết một dịch vụ để làm điều đó, tôi đã không thử nó nhưng, đây là một question.http smiliar: //stackoverflow.com/questions/5907102/home-button-listener – ocanal

Trả lời

13

Bạn có thể thử thủ thuật này.

Đăng ký bộ thu phát sóng được bắt đầu khi nhấn nút nguồn. Bây giờ trong phương pháp OnReceive của Người nhận, hãy làm những gì bạn muốn.

Ví dụ:

trong file manifest đăng ký một máy thu:

<receiver android:name="com.test.check.MyReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.SCREEN_OFF"></action> 
      <action android:name="android.intent.action.SCREEN_ON"></action> 
      <action android:name="android.intent.action.ACTION_POWER_CONNECTED"></action> 
      <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"></action> 
      <action android:name="android.intent.action.ACTION_SHUTDOWN"></action> 
     </intent-filter> 
    </receiver> 

& & trong onReceive() phương pháp của Receiver

public class MyReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent arg1) { 
     // TODO Auto-generated method stub 

     Log.v("#@%@%#", "Power button is pressed."); 

     Toast.makeText(arg0, "power button clicked",Toast.LENGTH_LONG).show(); 

     //perform what you want here 
    } 
} 

Bây giờ thực hiện bất kỳ hoạt động trong onReceive() phương thức của người nhận.

+1

Hey sự ở trên làm việc bị lừa .... Tôi đã làm mã này và làm việc của nó và cho thấy bánh mì nướng khi nút nguồn được kết nối hoặc ngắt kết nối .. Tôi sửa đổi mã một chút, vì vậy tôi đang chỉnh sửa bài viết trên một chút .. hy vọng nó có thể giúp bạn ... –

+0

Bạn có thể vui lòng cho biết những thay đổi bạn đã thực hiện trong mã trên không. và vui lòng dán mã đầy đủ của tệp có hiệu quả nhất. cảm ơn –

+0

từ 5 hành động này chỉ có một hoạt động trong khi telefone bị khóa là SCREEN_ON-Event. – bofredo

0

đây là một sự kiện quan trọng về sức mạnh mà bạn có thể nhận được một số ý tưởng từ này chỉ cần thử trên này, bạn sẽ nhận được một số ý tưởng ... tôi đã không thử một hành động như vậy nhưng tôi tìm thấy điều này trong quản lý điện năng.

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) { 
     // do what you want with the power button 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+2

Điều này chỉ hoạt động nếu hoạt động mà _onKeyDown_ đang chạy và đang hoạt động – Moesio

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