2014-09-30 6 views
-2

내 앱 아이콘을 클릭하면 자동으로 잠긴 화면이 표시됩니다.이 중 하나를 수행하는 방법을 알려주십시오.앱 아이콘을 클릭하면 안드로이드 화면 잠금

나는 많은 인터넷 검색을하고 있지만 이렇게 찾지 못하므로, 제발 도와주세요.

여기에서 app_launcher 아이콘을 클릭하고 모바일 화면을 잠갔습니다.

+0

... 난 당신이 widget..if으로 이것을 시도한다고 생각하면 그 위젯을 클릭하면 화면이 잠길 것입니다 .. – Mani

+0

당신은 저에게 관련된 모든 예제를 제공합니까? –

+0

http://stackoverflow.com/questions/14352648/how-to-lock-unlock-screen-programmatically –

답변

1

이 코드를 사용해보십시오 (화면 잠금 해제 화면) :

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> 
+0

** device_admin ** xml 파일에 대한 권한 및 사용 권한 ** **는 시스템 앱에만 허용됩니다. –

+0

deviceadmin xml 파일 코드를 추가합니다. 경고를 무시하고 DEVICE_POWER 권한으로 시작 앱을 사용해보세요. 장치 관리자 –

+0

에 앱을 추가하는 것을 잊지 말고 DeviceAdmin 클래스의 onDisabled() 및 onEnable()에 쓸 내용이 있습니까? –

0
//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);