Popular Posts
javax.net.ssl.SSLHandshakeException: Connection closed by peer in Android 5.0 Lollipop Recently, there is a error occurs when access website via ssl connection like below although it worked fine several days ago. // Enable SSL... Enable SSL connection for Jsoup import org.jsoup.Connection; import org.jsoup.Jsoup; import javax.net.ssl.*; import java.io.IOException; import java.security.KeyManagement... Build an OpenVPN server on android device Preparation An android device, in this case, Sony xperia Z is used Root permission required Linux Deploy for deploy i...
Stats
android.intent.action.SCREEN_ON & android.intent.action.SCREEN_OFF

First, I've tried create a receiver to receive screen on/off and register receiver on AndroidManifest.xml like below, but unfortunately it does not work.

ScreenReceiver.java
  1. package com.prhythm.training.service;
  2.  
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.util.Log;
  7.  
  8. /**
  9.  * Created by Bruce on 7/15/2014.
  10.  */
  11. public class ScreenReceiver extends BroadcastReceiver {
  12.     @Override
  13.     public void onReceive(Context context, Intent intent) {
  14.         Log.d("Receiver", String.format("Broadcast action: %s", intent.getAction()));
  15.     }
  16. }
AndroidManifest.xml
  1. <receiver android:name=".service.ScreenReceiver">
  2.     <intent-filter>
  3.         <action android:name="android.intent.action.SCREEN_ON"/>
  4.         <action android:name="android.intent.action.SCREEN_OFF"/>
  5.     </intent-filter>
  6. </receiver>

I's nessary to register screen action receiver by code, so I've change the as

ScreenReceiver.java
  1. package com.prhythm.training.service;
  2.  
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.util.Log;
  7.  
  8. /**
  9.  * Created by Bruce on 7/15/2014.
  10.  */
  11. public class ScreenReceiver extends BroadcastReceiver {
  12.  
  13.     public static ScreenReceiver CURRENT;
  14.  
  15.     @Override
  16.     public void onReceive(Context context, Intent intent) {
  17.         Log.d("Receiver", String.format("Broadcast action: %s", intent.getAction()));
  18.     }
  19. }
ScreenService.java
  1. package com.prhythm.training.service;
  2.  
  3. import android.app.Service;
  4. import android.content.Intent;
  5. import android.content.IntentFilter;
  6. import android.os.IBinder;
  7.  
  8. /**
  9.  * Created by Bruce on 7/15/2014.
  10.  */
  11. public class ScreenService extends Service {
  12.     @Override
  13.     public IBinder onBind(Intent intent) {
  14.         return null;
  15.     }
  16.  
  17.     @Override
  18.     public void onCreate() {
  19.         // Register screen on/off receiver
  20.         if (ScreenReceiver.CURRENT == null) ScreenReceiver.CURRENT = new ScreenReceiver();
  21.         getApplicationContext().registerReceiver(ScreenReceiver.CURRENT, new IntentFilter(Intent.ACTION_SCREEN_ON));
  22.         getApplicationContext().registerReceiver(ScreenReceiver.CURRENT, new IntentFilter(Intent.ACTION_SCREEN_OFF));
  23.     }
  24. }

Then, start this service is required

  1. startService(new Intent(this, ScreenService.class));