首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >代码一:理解从JDK23升级到JDK27后的警告和JDK27

代码一:理解从JDK23升级到JDK27后的警告和JDK27
EN

Stack Overflow用户
提问于 2018-10-19 20:58:17
回答 1查看 145关注 0票数 1

2018年5月,代号One被移至Android 27级。以前,我在商店中加载了一个用代码名一个构建的应用程序的0.1版本,该应用程序带有Android级别23 (这是以前的默认设置)。

谷歌迫使所有开发者在2018年11月1日前将应用程序升级到更新的API,这就是为什么我几天前向商店提交了同一个应用程序,没有任何代码修改,它是用最后一个版本的代号之一构建的。

今天我收到了以下的坠机保护报告。我的问题是帮助理解所有的警告和java.lang.SecurityException. 我的应用程序不需要任何特殊权限,在运行过程中也不要向用户询问权限(这是一个非常简单的应用程序)。在将应用程序升级到API级别27之前,我从来没有收到过这些警告和这个异常。

代码语言:javascript
运行
复制
[EDT] 0:0:0,1 - Codename One revisions: 38629bb7dc1724677b602b7cf175bee9bf0d67c8

[EDT] 0:0:0,4 - WARNING: Theme sets the commandBehavior constant which is deprecated.  Please update the theme to NOT include this theme constant.  Using commandBehavior may cause your app to perform in unexpected ways.  In particular, using SIDE command behavior in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime exceptions.
[EDT] 0:0:0,6 - WARNING: Display.setCommandBehavior() is deprecated, Using it may result in unexpected behaviour. In particular, using COMMAND_BEHAVIOR_SIDE_NAVIGATION in conjunction with Toolbar.setOnTopSideMenu(true) may result in runtime errors.
[EDT] 0:0:0,11 - STARTING of the app "Giorno per giorno" version 0.2
[EDT] 0:0:0,12 - Platform: Unknown
[EDT] 0:0:0,13 - Platform Name: and
[EDT] 0:0:0,15 - OS: Android
[EDT] 0:0:0,17 - OS Version: 8.0.0
[EDT] 0:0:0,19 - Display Width: 1080
[EDT] 0:0:0,20 - Display Height: 2150
[EDT] 0:0:0,22 - Device density: DENSITY_HD
[EDT] 0:0:0,23 - mese: 10
[EDT] 0:0:0,24 - giorno del mese: 19
[EDT] 0:0:0,36 - I'm trying to open the file /giorno-293.txt
[EDT] 0:0:0,38 - File opened successfully
[EDT] 0:0:0,38 - isNativeShareSupported: true
[EDT] 0:0:0,874 - Exception: java.lang.SecurityException - Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
    at android.os.Parcel.readException(Parcel.java:1946)
    at android.os.Parcel.readException(Parcel.java:1892)
    at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:4373)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1631)
    at android.app.Activity.startActivityForResult(Activity.java:4751)
    at android.app.Activity.startActivityForResult(Activity.java:4691)
    at com.codename1.impl.android.CodenameOneActivity.startActivityForResult(CodenameOneActivity.java:576)
    at android.app.Activity.startActivity(Activity.java:5112)
    at android.app.Activity.startActivity(Activity.java:5080)
    at com.codename1.impl.android.CodenameOneActivity.startActivity(CodenameOneActivity.java:590)
    at com.codename1.impl.android.d.W(AndroidImplementation.java:1311)
    at com.codename1.s.q.o(Display.java:1546)
    at com.codename1.s.ab.c(MenuBar.java:1413)
    at com.codename1.s.aj.c(SideMenuBar.java:704)
    at com.codename1.s.u.c(Form.java:2748)
    at com.codename1.s.q.a(Display.java:2015)
    at com.codename1.s.q.j(Display.java:1043)
    at com.codename1.s.q.i(Display.java:961)
    at com.codename1.s.ai.run(RunnableWrapper.java:120)
    at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
    at java.lang.Thread.run(Thread.java:784)
[EDT] 0:0:0,877 - Exception in Giorno per giorno version 0.2
[EDT] 0:0:0,877 - OS and
[EDT] 0:0:0,878 - Error java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
[EDT] 0:0:0,878 - Current Form null
[EDT] 0:0:0,879 - Exception: java.lang.SecurityException - Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10400000 cmp=com.huawei.android.launcher/.powersavemode.PowerSaveModeLauncher (has extras) } from ProcessRecord{e69f9b7 13566:cloud.amoremio.app.daybyday/u0a110} (pid=13566, uid=10110) not exported from uid 10072
    at android.os.Parcel.readException(Parcel.java:1946)
    at android.os.Parcel.readException(Parcel.java:1892)
    at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:4373)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1631)
    at android.app.Activity.startActivityForResult(Activity.java:4751)
    at android.app.Activity.startActivityForResult(Activity.java:4691)
    at com.codename1.impl.android.CodenameOneActivity.startActivityForResult(CodenameOneActivity.java:576)
    at android.app.Activity.startActivity(Activity.java:5112)
    at android.app.Activity.startActivity(Activity.java:5080)
    at com.codename1.impl.android.CodenameOneActivity.startActivity(CodenameOneActivity.java:590)
    at com.codename1.impl.android.d.W(AndroidImplementation.java:1311)
    at com.codename1.s.q.o(Display.java:1546)
    at com.codename1.s.ab.c(MenuBar.java:1413)
    at com.codename1.s.aj.c(SideMenuBar.java:704)
    at com.codename1.s.u.c(Form.java:2748)
    at com.codename1.s.q.a(Display.java:2015)
    at com.codename1.s.q.j(Display.java:1043)
    at com.codename1.s.q.i(Display.java:961)
    at com.codename1.s.ai.run(RunnableWrapper.java:120)
    at com.codename1.impl.b$1.run(CodenameOneThread.java:60)
    at java.lang.Thread.run(Thread.java:784)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-21 05:15:05

这似乎是华为发射装置上的一个漏洞。当用户按下应用程序主表单中的后退按钮时,默认情况下我们会最小化应用程序(正如Android中的惯例)。最小化方法是这样在Android上实现的:

代码语言:javascript
运行
复制
public boolean minimizeApplication() {
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startMain.putExtra("WaitForResult", Boolean.FALSE);
    getContext().startActivity(startMain);
    return true;
}

这实质上要求系统“回家”。它不需要权限或任何具体的东西,但华为似乎错误地配置了他们的活动,这是失败的。我认为这只是意味着在这些设备上退出应用程序将失败。用户可能仍然可以使用home按钮本身而不是后退按钮。

不幸的是,华为似乎没有公开的bug报告系统。希望他们能解决这个问题,否则就会有解决办法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52899832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档