相关疑难解决方法(0)

Android - 唤醒和解锁设备

应用程序描述: 该应用程序旨在作为特定客户端的安全程序(不公开部署).当应用程序在一段时间内未检测到移动时,如果应用程序处于后台或设备处于睡眠状态,应用程序应发出警报并将其置于前台.

问题: 如果设备处于睡眠状态并处于锁定状态,我们需要唤醒并解锁设备.使用SO和其他地方的各种技术,我们已经能够(部分地)唤醒和解锁设备,但是当设备物理插入计算机时,这只能正常运行.如果设备本身没有插上电源,我们测试了唤醒 - 解锁,没有任何反应; 设备似乎仍然处于睡眠状态,应用程序似乎什么都不做(没有警报).

我使用过这篇文章关于使用PowerManager和KeyguardManager,这篇文章使用了窗口标志.

这是目前用于唤醒设备的代码:

public void wakeDevice() {
    PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wakeLock = powerManager.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "TAG");
    wakeLock.acquire();

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
    KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");
    keyguardLock.disableKeyguard();
    runOnUiThread(new Runnable(){
        public void run(){
            getWindow().addFlags(
                      WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);                
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

从我看到/使用过的其他一些SO问题的评论和帖子中,似乎PowerManager/KeyguardManager代码应该已经完成​​了这个技巧.同样,正如我之前所说的,它在技术上工作,而设备通过USB插入到开发机器,但在设备分离时绝对没有任何作用.

另请注意,这是我们的第一个Android应用程序,所以我们完全清楚我们可能会完全关注我们正在尝试做的事情.欢迎任何建议.

所以简而言之,鉴于上面的代码,为什么设备根据它是否插入而表现得如此不同,以及为了唤醒和解锁设备,我们应该改变什么?提前感谢您的帮助!

android android-wake-lock keyguard

45
推荐指数
1
解决办法
3万
查看次数

唤醒Android设备

嘿,我需要在某个时间唤醒我的睡眠安卓设备.有什么建议?

PS唤醒:打开显示器并可能解锁手机

android wakeup

40
推荐指数
3
解决办法
8万
查看次数

Android屏幕锁定/解锁以编程方式

我正在开发一个应用程序,我必须以编程方式锁定和解锁屏幕.请帮忙!我不知道如何开发支持每个版本的Android OS的此类功能.

android

23
推荐指数
2
解决办法
5万
查看次数

如何以编程方式禁用解锁屏幕

  1. 当用户离开定义的WiFi区域时,我需要锁定Android手机
  2. 当他/她在定义的WiFi区域外时,我需要阻止用户解锁手机
  3. 当用户回到WiFi区域时,我需要解锁手机

我猜列表项1和3可以通过编程方式完成.

是否有可能做第二项?

android lockscreen

11
推荐指数
2
解决办法
5365
查看次数

如何在按下音量增大或音量减小按钮时启动Android应用程序?

我在个人安全应用程序中有一个要求,用户必须通过按下音量增大或音量减小按钮尽快启动应用程序.添加此功能的步骤是什么?

android android-hardware

9
推荐指数
2
解决办法
7853
查看次数

如何以编程方式锁定/解锁手机:Android

在我的应用程序中,我需要锁定和解锁手机.我搜索了它,我找到了许多答案,我尝试了它们,但没有人工作.

onCreate()在我完成活动时,我需要再次打开手机并再次锁定手机.

你们知道做同样的方法吗?

谢谢朋友.

编辑:

我尝试过的一些链接是:

如何在屏幕锁定时显示活动?

Android屏幕锁定/解锁以编程方式

https://groups.google.com/forum/#!topic/android-developers/BOLjJTMO4zE

在我的应用程序中,我正在使用AlarmManager然后启用手机锁来安排任务.我的活动是在预定时间开始,但它没有解锁我的手机.当我解锁我的手机时,手动运行活动就出现了

android keyguard

8
推荐指数
2
解决办法
3万
查看次数

以编程方式解锁Android手机?

我想编写有关如何以编程方式解锁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*****");                
            }

        };   

    }}
Run Code Online (Sandbox Code Playgroud)

android locking screen unlock

6
推荐指数
1
解决办法
6531
查看次数