Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

activate an application when a power button is clicked

Tags:

android

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 background and listening events from power button ?

some times phone gets into sleep mode once it is idle , and to use any application user has to press sleep button and then he has to enter certain password to activate the phone. But i want to make make it activate my application when a power button is clicked without any other intervention

like image 959
Hunt Avatar asked Jan 20 '12 11:01

Hunt


1 Answers

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.

like image 66
Dinesh Sharma Avatar answered Oct 23 '22 12:10

Dinesh Sharma