解决方案 »

  1.   

    //锁屏
                        if (keyguardLock != null) {
                            keyguardLock.disableKeyguard();
                             
                        }
     
                        policyManager.lockNow();
     
                        if (keyguardLock != null) {
                            keyguardLock.reenableKeyguard();
                        }你这个先锁屏又解锁干嘛呢
      

  2.   

    哦哦 因为一般直接locknow的话 手机锁屏之后屏幕灯又会马上亮起来 去网上查了一下 说加了这两句就能成功 我试了一下确实可以直接锁屏并且事后不会屏幕灯亮了
    if (keyguardLock != null) {
    keyguardLock.disableKeyguard(); } policyManager.lockNow();// 直接锁屏   if (keyguardLock != null) {
    keyguardLock.reenableKeyguard();
    }
      

  3.   

    为啥在else里面写的如此复杂……没太理解。
      

  4.   

    哦哦 因为一般直接locknow的话 手机锁屏之后屏幕灯又会马上亮起来 去网上查了一下 说加了这两句就能成功 我试了一下确实可以直接锁屏并且事后不会屏幕灯亮了
    if (keyguardLock != null) {
    keyguardLock.disableKeyguard(); } policyManager.lockNow();// 直接锁屏   if (keyguardLock != null) {
    keyguardLock.reenableKeyguard();
    }有没有用到PowerManager呢?我记得要release才能恢复原来的状态的
    或者直接写数据库进行锁屏public void setLockPatternEnabled(boolean enabled) {  
            setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED,  
                    enabled);  
        }  
    private void setBoolean(String systemSettingKey, boolean enabled) {  
            android.provider.Settings.System.putInt(mContentResolver,  
                    systemSettingKey, enabled ? 1 : 0);  
        }systemSettingKey就是android.provider.Settings.System.LOCK_PATTERN_ENABLED
      

  5.   

    好吧各种逻辑 我也很乱 现在已经优化一点了 但是当我把apk放到手机上安装的时候 360手机报木马了怎么把 听说加壳可以解决吗
      

  6.   

    哦哦 因为一般直接locknow的话 手机锁屏之后屏幕灯又会马上亮起来 去网上查了一下 说加了这两句就能成功 我试了一下确实可以直接锁屏并且事后不会屏幕灯亮了
    if (keyguardLock != null) {
    keyguardLock.disableKeyguard(); } policyManager.lockNow();// 直接锁屏   if (keyguardLock != null) {
    keyguardLock.reenableKeyguard();
    }有没有用到PowerManager呢?我记得要release才能恢复原来的状态的
    或者直接写数据库进行锁屏public void setLockPatternEnabled(boolean enabled) {  
            setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED,  
                    enabled);  
        }  
    private void setBoolean(String systemSettingKey, boolean enabled) {  
            android.provider.Settings.System.putInt(mContentResolver,  
                    systemSettingKey, enabled ? 1 : 0);  
        }systemSettingKey就是android.provider.Settings.System.LOCK_PATTERN_ENABLED
    感觉好强大 但是没时间了 我现在应用被360爆出木马了 怎么办 是因为我加了两个权限的原因吗
    这是我的清单文件 大神帮忙看看
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.shake_lock"
        android:versionCode="1"
        android:versionName="1.0" >    <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="21" />    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.activity.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>        <receiver
                android:name="com.example.broadcast.AdminReceiver"
                android:description="@string/sample_device_admin_description"
                android:label="@string/sample_device_admin"
                android:permission="android.permission.BIND_DEVICE_ADMIN" >
                <meta-data
                    android:name="android.app.device_admin"
                    android:resource="@xml/device_admin_sample" />            <intent-filter>
                    <action android:name="android.app.action.ACTION_ADD_DEVICE_ADMIN" />
                </intent-filter>
            </receiver>
        </application>    <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /></manifest>
      

  7.   

    哦哦 因为一般直接locknow的话 手机锁屏之后屏幕灯又会马上亮起来 去网上查了一下 说加了这两句就能成功 我试了一下确实可以直接锁屏并且事后不会屏幕灯亮了
    if (keyguardLock != null) {
    keyguardLock.disableKeyguard(); } policyManager.lockNow();// 直接锁屏   if (keyguardLock != null) {
    keyguardLock.reenableKeyguard();
    }有没有用到PowerManager呢?我记得要release才能恢复原来的状态的
    或者直接写数据库进行锁屏public void setLockPatternEnabled(boolean enabled) {  
            setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED,  
                    enabled);  
        }  
    private void setBoolean(String systemSettingKey, boolean enabled) {  
            android.provider.Settings.System.putInt(mContentResolver,  
                    systemSettingKey, enabled ? 1 : 0);  
        }systemSettingKey就是android.provider.Settings.System.LOCK_PATTERN_ENABLED
    感觉好强大 但是没时间了 我现在应用被360爆出木马了 怎么办 是因为我加了两个权限的原因吗
    这是我的清单文件 大神帮忙看看
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.shake_lock"
        android:versionCode="1"
        android:versionName="1.0" >    <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="21" />    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.activity.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>        <receiver
                android:name="com.example.broadcast.AdminReceiver"
                android:description="@string/sample_device_admin_description"
                android:label="@string/sample_device_admin"
                android:permission="android.permission.BIND_DEVICE_ADMIN" >
                <meta-data
                    android:name="android.app.device_admin"
                    android:resource="@xml/device_admin_sample" />            <intent-filter>
                    <action android:name="android.app.action.ACTION_ADD_DEVICE_ADMIN" />
                </intent-filter>
            </receiver>
        </application>    <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /></manifest>你把权限去掉试试就知道了
      

  8.   

    哦哦 因为一般直接locknow的话 手机锁屏之后屏幕灯又会马上亮起来 去网上查了一下 说加了这两句就能成功 我试了一下确实可以直接锁屏并且事后不会屏幕灯亮了
    if (keyguardLock != null) {
    keyguardLock.disableKeyguard(); } policyManager.lockNow();// 直接锁屏   if (keyguardLock != null) {
    keyguardLock.reenableKeyguard();
    }有没有用到PowerManager呢?我记得要release才能恢复原来的状态的
    或者直接写数据库进行锁屏public void setLockPatternEnabled(boolean enabled) {  
            setBoolean(android.provider.Settings.System.LOCK_PATTERN_ENABLED,  
                    enabled);  
        }  
    private void setBoolean(String systemSettingKey, boolean enabled) {  
            android.provider.Settings.System.putInt(mContentResolver,  
                    systemSettingKey, enabled ? 1 : 0);  
        }systemSettingKey就是android.provider.Settings.System.LOCK_PATTERN_ENABLED
    感觉好强大 但是没时间了 我现在应用被360爆出木马了 怎么办 是因为我加了两个权限的原因吗
    这是我的清单文件 大神帮忙看看
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.shake_lock"
        android:versionCode="1"
        android:versionName="1.0" >    <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="21" />    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.activity.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>        <receiver
                android:name="com.example.broadcast.AdminReceiver"
                android:description="@string/sample_device_admin_description"
                android:label="@string/sample_device_admin"
                android:permission="android.permission.BIND_DEVICE_ADMIN" >
                <meta-data
                    android:name="android.app.device_admin"
                    android:resource="@xml/device_admin_sample" />            <intent-filter>
                    <action android:name="android.app.action.ACTION_ADD_DEVICE_ADMIN" />
                </intent-filter>
            </receiver>
        </application>    <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /></manifest>你把权限去掉试试就知道了
    怎么可以 权限是关于锁屏的呢 
      

  9.   

    已经测试过了 就是权限的问题 怎么办呢估计是android.permission.BIND_DEVICE_ADMIN这个权限,锁屏不需要这个的吧