以编程方式解锁 Android 手机?

7

我想编写代码以通过程序解锁Android手机。

当用户点击接近传感器时,我想锁定或解锁手机。

public class MyActivity extends Activity{   

    private static final String ACTION = "android.intent.action.ACTION_SCREEN_OFF";
    BroadcastReceiver myReceiver;
    Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        context = this;
        final IntentFilter theFilter = new IntentFilter();
        theFilter.addAction(ACTION);

        context.registerReceiver(myReceiver, theFilter);
        System.out.println("inside increate");
        myReceiver = new BroadcastReceiver(){

            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub      
                    System.out.println("phone locked*****");                
            }

        };   

    }}

1
可能是重复的问题:我的应用程序如何以编程方式解锁屏幕? - razlebe
2个回答

4
@Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
         IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
            registerReceiver(mIntentReceiver, filter);
            System.out.println("BROADcast receiver registered****");
    }

     private BroadcastReceiver mIntentReceiver = new BroadcastReceiver(){

        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub

                System.out.println("phone locked"); 

        }

4
Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
            | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
            | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
            | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

一种替代方案是......尝试使用以下方法解锁屏幕。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接