อยากรู้ว่ามันสามารถกำหนดให้มีการ Broadcast Screen On/Off messgae ใน Widget ได้หรือเปล่านะครับ
ต้องการให้มีการทำงานอะไรบางอย่างตอนที่ ปิด/เปิดหน้าจอนะครับ
ดูข้อมูลเพิ่มเติมเกี่ยวกับนโยบายความเป็นส่วนตัว และการใช้คุกกี้ของเราคลิก
คุกกี้เหล่านี้มีความสำคัญต่อการให้บริการบนเว็บไซต์แก่คุณ และเพื่อให้คุณสามารถใช้คุณลักษณะบางอย่างได้ คุกกี้เหล่านี้ช่วยในการยืนยันตัวบุคคลของผู้ใช้งานและช่วยป้องกันการปลอมแปลงบัญชีผู้ใช้งาน หากไม่มีคุกกี้เหล่านี้เราอาจไม่สามารถให้บริการแก่คุณได้ เราใช้คุกกี้ดังกล่าวนี้เพื่อให้บริการแก่คุณ
แม้ว่าอาจเกิดคุกกี้ แต่อาจไม่สามารถบันทึกได้เนื่องจากมีสมุดบันทึกที่คุณสามารถอัปเดตได้เว็บไซต์นี้อาจมีคุกกี้หรืออาจเกิดคุกกี้ใหม่อีกครั้ง
ดูข้อมูลเพิ่มเติมคลิก
ตามนี้เลยละกันครับ
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lk.ch;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.util.Log;
/**
*
* @author peerapat
*/
public class UpdateService extends Service {
private static final String TAG = "UpdateService";
@Override
public void onCreate() {
super.onCreate();
// register receiver that handles screen on and screen off logic
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
}
@Override
public void onStart(Intent intent, int startId) {
boolean screenOn = intent.getBooleanExtra("screen_state", false);
if (!screenOn) {
Log.d(TAG, "Screen state:"+screenOn);
} else {
Log.d(TAG, "Screen state:"+screenOn);
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
public class ScreenReceiver extends BroadcastReceiver {
private boolean screenOff;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
screenOff = true;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
screenOff = false;
}
Intent i = new Intent(context, UpdateService.class);
i.putExtra("screen_state", screenOff);
context.startService(i);
}
}
}