我想创建应用程序,当我点击我的应用程序图标,屏幕自动锁定,请任何人帮助我如何做到这一点?Android屏幕锁定,当只需点击应用程序图标
我很多谷歌搜索,但没有找到这样的,所以请帮助我做到这一点。
在这个我点击app_launcher图标和直接手机屏幕锁定。
我想创建应用程序,当我点击我的应用程序图标,屏幕自动锁定,请任何人帮助我如何做到这一点?Android屏幕锁定,当只需点击应用程序图标
我很多谷歌搜索,但没有找到这样的,所以请帮助我做到这一点。
在这个我点击app_launcher图标和直接手机屏幕锁定。
试试这个代码(锁屏和屏幕关闭):
public DevicePolicyManager deviceAdminPolicyManager = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
public ComponentName deviceAdminComponentName = new ComponentName(this, DeviceAdmin.class);
deviceAdminPolicyManager.lockNow();
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
if(powerManager.isScreenOn()) powerManager.goToSleep(System.currentTimeMillis() + 1000L);
您的应用程序必须通过设置添加为设备管理员 - 安全 - 设备administartors。
也加入清单:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.DEVICE_POWER"/> <!-- for screen off and on -->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<receiver android:label="@string/label" android:name="com.package$DeviceAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
和:
public static class DeviceAdmin extends DeviceAdminReceiver
{
public CharSequence onDisableRequested(Context paramContext, Intent paramIntent) { return ""; }
public void onDisabled(Context paramContext, Intent paramIntent) {}
public void onEnabled(Context paramContext, Intent paramIntent) {}
public void onPasswordChanged(Context paramContext, Intent paramIntent) {}
}
DeviceAdmin.xml
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock />
</uses-policies>
</device-admin>
什么是进入** device_admin ** xml文件和权限** <使用权限android:name =“android.permission.DEVICE_POWER”/> **只允许系统应用程序 – 2014-09-30 06:29:17
我添加deviceadmin xml文件代码。尝试使用DEVICE_POWER权限忽略警告启动应用程序。别忘了在Device Admin – 2014-09-30 06:33:02
中添加你的应用程序,在DeviceAdmin类的onDisabled()和onEnable()中写入任何东西? – 2014-09-30 07:25:02
//For Unlock
WindowManager winManager = Context.getSystemService(Context.WINDOW_SERVICE);
Window window = getWindow();
window.addFlags(winManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
OR
KeyguardManager km = (KeyguardManager) context
.getSystemService(Context.KEYGUARD_SERVICE);
final KeyguardManager.KeyguardLock kl = km
.newKeyguardLock("MyKeyguardLock");
kl.disableKeyguard();
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
wakeLock.acquire();
//Lock device
DevicePolicyManager myDPM;
myDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
...我想你有widget..if试试这个你点击该小部件的屏幕将被锁定。 – Mani 2014-09-30 05:42:45
你给我任何相关的例子吗? – 2014-09-30 05:51:36
你可以参考http://stackoverflow.com/questions/14352648/how-to-lock-unlock-screen-programmatically – 2014-09-30 05:54:40