当前位置: 首页 > 知识库问答 >
问题:

按下设备的电源按钮时出现资源未找到异常

翟冷勋
2023-03-14

我正在写一个运行良好的应用程序。有很多活动。每个活动都以横向模式运行。现在假设用户看到一个活动,他按下设备的电源按钮,现在设备处于睡眠模式。

但是当他再次按下电源按钮时,设备会唤醒,现在我的应用程序应该从用户离开的地方继续,但我的应用程序刚刚关闭,甚至没有强制关闭消息,这意味着用户突然来到主屏幕。

在logcat中,它显示以下错误-

01-31 12:22:40.010: E/AndroidRuntime(10591): FATAL EXCEPTION: main
01-31 12:22:40.010: E/AndroidRuntime(10591): java.lang.RuntimeException: Unable to start         activity ComponentInfo{com.example.reflexapp/com.example.reflexapp.Login}:     android.content.res.Resources$NotFoundException: Resource ID #0x7f030023
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.ActivityThread.access$700(ActivityThread.java:150)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.os.Looper.loop(Looper.java:137)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.ActivityThread.main(ActivityThread.java:5283)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at java.lang.reflect.Method.invokeNative(Native Method)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at java.lang.reflect.Method.invoke(Method.java:511)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at dalvik.system.NativeStart.main(Native Method)
01-31 12:22:40.010: E/AndroidRuntime(10591): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030023
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.content.res.Resources.getValue(Resources.java:1883)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:3028)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.content.res.Resources.getLayout(Resources.java:1722)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.view.LayoutInflater.inflate(LayoutInflater.java:395)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:364)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.Activity.setContentView(Activity.java:1930)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at com.example.reflexapp.Login.onCreate(Login.java:18)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.Activity.performCreate(Activity.java:5283)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
01-31 12:22:40.010: E/AndroidRuntime(10591):    at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
01-31 12:22:40.010: E/AndroidRuntime(10591):    ... 11 more

我不明白我做错了什么。在每个活动中,我都是这样做的-

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.userlogin);
    init();
}

请帮帮我。提前谢谢。

共有2个答案

闻人伟
2023-03-14

当我按下Home或Back键时,我的活动崩溃,我也遇到了这个问题。我没有“布局”文件夹中的文件,因为它们只在“布局-土地”文件夹中。我只是把我的文件从“布局-土地”复制到“布局”,现在当点击Home键或Back键时,活动不会崩溃。起初这有点令人沮丧,但现在一切似乎都很好。

莘睿
2023-03-14

我解决了我的问题。我犯了一个错误,因为我的应用程序只能在横向模式下工作,我将所有布局 xml 文件放在布局土地文件夹中。布局文件夹中没有任何内容。

但事实证明,当设备进入睡眠状态时,android系统试图将所有内容都置于纵向模式,所以它在布局文件夹中查找纵向xmls,但一无所获。因此,它会给资源找不到异常和应用程序退出。

所以请注意,即使您的应用程序只显示横向布局,您也必须在布局文件夹中提供纵向xmls。:-)

 类似资料:
  • 我是Android新手。我正在尝试制作一个应用程序,它将在后台运行,并检测三次快速按下电源按钮。我查阅了很多资料,但无法澄清我的困惑。谁能给我一些建议吗?蒂亚。

  • 我正在制作一个android应用程序,它需要检测设备电源按钮按下两次/三次的事件 下面是我尝试过的代码,它不工作... 我的代码: 清单文件:

  • 我是开发Android应用程序的新手,我想做的是创建一个可以读取电源按钮按下时间的应用程序,以制作一个可访问性应用程序。 也许如果我能控制或计算屏幕打开和屏幕关闭事件,这可能会有所帮助。

  • 任务:创建一个按揭计算器应用程序,允许用户输入一个购买价格,首付金额和一个利率。基于这些值,应用程序应该计算贷款金额,并显示每月支付的10年、20年和30年贷款。允许用户使用搜索栏选择自定义贷款期限(以年为单位),并显示该自定义贷款期限的月付款。 我只是有数字被划分为一个开始,并没有执行利息。目前,它只是被输入和存储的东西。但这不是问题所在。当我试图更改第一个编辑文本时会出现此错误消息。 这是密码

  • 问题内容: 下面的代码正确返回该单元格: 但是在表视图中查找indexpath会崩溃: 我尝试了另一种方法,但是没有成功: 问题答案: 我不知道是否有简单的方法可以做到这一点。( 编辑: 实际上有。请查看@mustafa的第二个解决方案。)一种解决方法是将按钮的标签设置为in ,然后可以仅访问按钮的标签以找出按钮所属的行。 警告: 此解决方法很脆弱。如果您允许在不调用的情况下从表中添加或删除行,则

  • 我是新的Android和试图研发应用程序快速帮助。一旦用户双击电源按钮,我希望我的应用程序为两种情况直接呼叫救护车(屏幕打开/关闭)。我已经写了这段代码,但它不起作用。任何帮助将不胜感激。提前谢谢你。:) Android显示 我的电话服务。JAVA MyReceiver.java 主要活动。JAVA