用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - android代码库

屏蔽系统解锁

2013-07-06 作者: 云代码会员举报

[android]代码库

package com.mosjoy.ad.zdlock;
 
import android.app.KeyguardManager;
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;
 
public class ZdLockService extends Service {
 
    private static String TAG = "ZdLockService";
    private Intent zdLockIntent = null;
    private KeyguardManager mKeyguardManager = null ;
    private KeyguardManager.KeyguardLock mKeyguardLock = null ;
     
    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
 
    public void onCreate() {
        super.onCreate();
        zdLockIntent = new Intent(ZdLockService.this, MainLockActivity.class);
        zdLockIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        /* 注册广播 */
        IntentFilter mScreenOnFilter = new IntentFilter(
                "android.intent.action.SCREEN_ON");
        ZdLockService.this.registerReceiver(mScreenOnReceiver, mScreenOnFilter);
        /* 注册广播 */
        IntentFilter mScreenOffFilter = new IntentFilter(
                "android.intent.action.SCREEN_OFF");
        ZdLockService.this.registerReceiver(mScreenOffReceiver,
                mScreenOffFilter);
        ZdLockService.this.registerReceiver(mScreenOnReceiver, mScreenOnFilter);
        mKeyguardManager = (KeyguardManager)this.getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
        mKeyguardLock = mKeyguardManager.newKeyguardLock("zdLock 1");
    }
 
    public int onStartCommand(Intent intent, int flags, int startId) {
        return Service.START_STICKY;
    }
 
    public void onDestroy() {
        super.onDestroy();
        // 在此重新启动
        startService(new Intent(ZdLockService.this, ZdLockService.class));
    }
    //屏幕变亮的广播,我们要隐藏默认的锁屏界面
    private BroadcastReceiver mScreenOnReceiver = new BroadcastReceiver(){
 
        @Override
        public void onReceive(Context context , Intent intent) {
             
            Log.i(TAG, intent.getAction());
 
            if(intent.getAction().equals("android.intent.action.SCREEN_ON")){
                Log.i(TAG, "----------------- android.intent.action.SCREEN_ON------");
//              mKeyguardManager = (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE);
//              mKeyguardLock = mKeyguardManager.newKeyguardLock("zdLock 1");
//              mKeyguardLock.disableKeyguard();
            }
        }
         
    };
     
    //屏幕变暗/变亮的广播 , 我们要调用KeyguardManager类相应方法去解除屏幕锁定
    private BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context , Intent intent) {
            String action = intent.getAction() ;
             
            Log.i(TAG, intent.toString());
             
            if(action.equals("android.intent.action.SCREEN_OFF")
                    || action.equals("android.intent.action.SCREEN_ON") ){
                /* 获取KeyGuardManager对象 */ 
                mKeyguardLock.disableKeyguard();
                startActivity(zdLockIntent);
            }
        }
         
    };
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...