activate an application when a power button is clicked

前端 未结 2 695
一生所求
一生所求 2020-11-28 09:54

i want to create such application in android which will be activated when i press sleep or power button twice , is it possible to do that , by running an application in bac

相关标签:
2条回答
  • 2020-11-28 10:00

    this is an key down event of power you can get some idea from this just try on this you'll get some idea... i didnt try such an act but i found this in power manager.

    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);
    }
    
    0 讨论(0)
  • 2020-11-28 10:02

    You can try this trick .

    Register a Broadcast Receiver which is initiated when powerbutton is clicked. Now in OnReceive method of the Receiver do what you want.

    For example:

    in manifest file register a receiver:

     <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>
    

    && in onReceive() method of the 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
        }
    }
    

    Now perform any operation in onReceive() method of the Receiver.

    0 讨论(0)
提交回复
热议问题