Android开发自己的锁屏壁纸

ThedakeLaugh 2013-03-16

SurfaceView  SurfaceHolder  MediaPlayer    Service      BroadcastReceiver    KeyguardManager    PowerManager

思路:启动一个服务,监听灭屏广播,当收到广播的时候,点亮屏幕,禁用锁屏,调用使用SurfaceView播放视频。

1.启动一个服务

      <service Android:name=".LockService" >
            <intent-filter>
                <category android:name="android.intent.category.default" />
            </intent-filter>
        </service>

        Intent intent = new Intent();
        intent.setClass(this,LockService.class);
        startService(intent);

2.LockService onCreate中注册监听ACTION_SCREEN_OFF

      final IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_SCREEN_OFF);
     
        registerReceiver(mReceiver, filter);

3.LockService 的内部监听类

  private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            final String action = intent.getAction();
            if (Intent.ACTION_SCREEN_OFF.equals(action)) {
                Log.d("yzy","screen_off...");
                if(HelloActivity.isScreenOff == false){
                    wakeUpScreen();
                    Intent intent1  = new Intent();
                    intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent1.setClass(LockService.this, HelloActivity.class);//启动屏保界面
                    startActivity(intent1);
                    HelloActivity.isScreenOff = true;

                }
             
            }
        }
    };

相关推荐