Andorid 8.1关机ACTION_REQUEST_SHUTDOWN的变化.

简介: Andorid 8.1关机ACTION_REQUEST_SHUTDOWN的变化.

平台


RK3399 + Android 8.1


问题


在旧SDK使用的关机接口在8.1上测试不可用, 代码如下:


//shutdown now
        String action = "android.intent.action.ACTION_REQUEST_SHUTDOWN";
        Intent shutdown = new Intent(action);
        shutdown.putExtra("android.intent.extra.KEY_CONFIRM", false);
        shutdown.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        try {
            startActivity(shutdown);
            finish();
        }catch(Exception e){
            e.printStackTrace();
        }


执行时发现找不到 activity.


原因


|-- frameworks/base/core/java/android/content/Intent.java

旧SDK:


public static final String ACTION_REQUEST_SHUTDOWN = "android.intent.action.ACTION_REQUEST_SHUTDOWN";


新SDK:


public static final String ACTION_REQUEST_SHUTDOWN
            = "com.android.internal.intent.action.REQUEST_SHUTDOWN";


Action值变了, 新代码如下


//shutdown now
        String action = "com.android.internal.intent.action.REQUEST_SHUTDOWN";
        if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.N){
            action = "android.intent.action.ACTION_REQUEST_SHUTDOWN";
        }
        Intent shutdown = new Intent(action);
        shutdown.putExtra("android.intent.extra.KEY_CONFIRM", false);
        shutdown.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        try {
            startActivity(shutdown);
            finish();
        }catch(Exception e){
            e.printStackTrace();
        }
相关文章
|
数据库
FastAPI(55)- Events: startup - shutdown 启动/关闭事件
FastAPI(55)- Events: startup - shutdown 启动/关闭事件
408 0
FastAPI(55)- Events: startup - shutdown 启动/关闭事件
|
7月前
|
监控 Linux 数据安全/隐私保护
问题记录:开机提示emergency mode(紧急模式)如何处理
在依赖Linux作为核心操作系统的环境中,系统的稳定和可靠性通常是我们理所当然的期待。然而,即使是最稳定的系统,有时也会在启动时出现异常,突然推到紧急模式的怀抱。这种模式,通常有被称为“Emergency Mode”,在Linux系统面临关键错误时作为一种安全网,但对于那些不熟悉如何应对此类问题的小伙伴来说,它可能带来困惑甚至恐慌。
问题记录:开机提示emergency mode(紧急模式)如何处理
|
开发工具
实战总结(一):关闭推送实现:Switch状态监听和SharedPreferences保存状态
实战总结(一):关闭推送实现:Switch状态监听和SharedPreferences保存状态
|
测试技术
loadrunner 技巧-模拟Run Logic中的随机Action运行
loadrunner 技巧-模拟Run Logic中的随机Action运行
103 0
|
Shell
奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly
奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly
535 0
奥比中光ROS启动节点运行异常退出:[camera/driver-2] process has finished cleanly
|
Android开发 开发者
【Android 高性能音频】AAudio 状态机 ( 创建 | 打开 Open | 开始 Started | 暂停 Paused | 刷写 Flushed | 停止 Stopped | 关闭 )
【Android 高性能音频】AAudio 状态机 ( 创建 | 打开 Open | 开始 Started | 暂停 Paused | 刷写 Flushed | 停止 Stopped | 关闭 )
453 0
VBS调用keybd_event事件
----------------发送alt+v组合按键----------------------Set Wrap = CreateObject("DynamicWrapper") Wrap.Register "USER32.
1123 0

热门文章

最新文章