我想創建應用程序,當我點擊我的應用程序圖標,屏幕自動鎖定,請任何人幫助我如何做到這一點?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