activity

Android Studio报错:Only fullscreen opaque activities can request orientation保留Activity透明背景的解决方式

元气小坏坏 提交于 2019-12-02 14:32:04
最近,在公司负责了app与社交模块的对接工作,用一个透明背景的Activity作为中间跳转Activity。在接完所有接口后,突然一个bug出现,说点击icon跳转蹦了!蹦了!附带一张日志 我试了一下,一脸懵逼,问他们怎么玩出来这个bug,拿了他们手机,确实必现这个bug,试了好几台手机,发现8.0以上的测试机有些必现这个bug。 从日志中,字面意思上是“只有全面屏的activity才能锁定屏幕方向”,逛遍Google和百度,发现问题的大概位置,原来是跟这个属性有关: 在一篇文章 https://zhuanlan.zhihu.com/p/32190223 中发现一些原因,我借鉴了一下,把它搬了过来: “windowIsTranslucent”为true; “windowIsTranslucent”为false,但“windowSwipeToDismiss”为true; “windowIsFloating“为true; 以上三种情况认为不是“fullscreen“ 以上应该就是原因所在了,网上主流的解决方案是都将android:windowIsTranslucent设为false。不过,尝试了一下,确实可以正常跳转了,但是,跳转时Activity的背景不是为透明了,这样不能满足了设计需求。 我想了一下,日志说明了非fullscreen不能固定屏幕方向,那就我去掉固定屏幕方向的属性试试

java.lang.IllegalStateException: Only fullscreen activities can request orientation

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-02 14:31:50
最近做第三方分享的时候测试给我提出了一个问题,就是点击微信分享的时候出现页面闪退的情况,通过异常捕获发现出现以下错误 这个异常的大概愿意你就是非全屏的activity是不能锁定orientation的,否则抛出异常。 因此要把清单文件中的第三方微信的activity的android:screenOrientation="portrait"去掉 以上解决方法参考: https://zhuanlan.zhihu.com/p/32190223 来源: CSDN 作者: 被门夹的核桃还补脑吗 链接: https://blog.csdn.net/sinat_28765197/article/details/83030322

Android之Fragment中使用startActivityForResult

▼魔方 西西 提交于 2019-12-02 14:29:16
大家或许有遇到这个神坑,在Fragment中使用startActivityForResult能够成功,可是在Fragment中的onActivityResult却无法被调用。一不注意就让人一夜愁白了头。苦经探索(当然包括亲爱的百度和谷歌),终于总结出了一些规律。 在Fragment中使用startActivityForResult之后,onActivityResult的调用是从activity中开始的(即会先调用activity中的onActivityResult)。 一.只嵌套了一层Fragment(比如activity中使用了viewPager,viewPager中添加了几个Fragment) 在这种情况下要注意几个点: 1.在Fragment中使用startActivityForResult的时候,不要使用getActivity().startActivityForResult,而是应该直接使startActivityForResult()。 2.如果activity中重写了onActivityResult,那么activity中的onActivityResult一定要加上super.onActivityResult(requestCode, resultCode, data)。 如果违反了上面两种情况,那么onActivityResult只能够传递到activity中的

Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientatio

回眸只為那壹抹淺笑 提交于 2019-12-02 14:27:53
android 8.0崩溃,最后查找原因是我们给Activity同时设置了 android:screenOrientation="" 和 <item name="android:windowIsTranslucent">true</item>。 解决办法:删除AndroidManifest中相应Activity的 android:screenOrientation=""属性;或者删除相应Activity的theme中<item name="android:windowIsTranslucent">true</item>属性。 这里记录一下 来源: CSDN 作者: YUANZHOU360 链接: https://blog.csdn.net/YUANZHOU360/article/details/85050609

Only fullscreen opaque activities can request orientation 原因及解决方案

浪子不回头ぞ 提交于 2019-12-02 14:27:07
Only fullscreen opaque activities can request orientation 原因及解决方案 今天在三星S8上遇见一个奇葩问题 Only fullscreen opaque activities can request orientation 一、出现场景 三星手机S8 android 8.0 targetSdkVersion 27 透明Activity 二、解决方案 manifest中移除 android:screenOrientation="portrait" 三、原因(源码中寻找) 查看Android 8.0源码 3.1、ActivityRecord#setRequestedOrientation 有几个条件: 非全屏 !fullscreen targetSdkVersion的设置为大于26 appInfo.targetSdkVersion > O ActivityInfo.isFixedOrientation(requestedOrientation) 所以下边来跟踪一下 ActivityInfo.isFixedOrientation(requestedOrientation) 3.2、跟踪ActivityInfo.isFixedOrientation(requestedOrientation) 继续跟踪

解决Only fullscreen opaque activities can request orientation错误崩溃

会有一股神秘感。 提交于 2019-12-02 14:26:53
Android O上,如果启动Activity(比如开屏页这种)设置了背景透明,又设置了强制竖屏,就会崩溃,报错: IllegalStateException: Only fullscreen opaque activities can request orientation... App秒崩真不是滋味,一开始不知道谷歌粑粑又在搞什么鬼。 查了下,应该是API 27的新规矩: 只有占据整个屏幕的 Activity 才可以设置横竖屏,半透明/对话框等不可设置横竖屏 。 好吧~ 解决办法1: 既然不让我设置横竖屏属性,我不设就是了嘛,有时候一些新特性真的让人很无语啊!所以直接删掉manifest文件里开屏Activity的 android:screenOrientation=“portrait” 就行了,相信我,开屏就那么一瞬间,没人会发现它还可以横屏的。 解决办法2: 网上抄来抄去的博客还有个不是办法的办法是,把透明主题的 android:windowIsTranslucent 设成false,再加一句: < item name = " android:windowDisablePreview " > true </ item > 我试了下,Activity的背景透明没了,所以这方法对我的情况没用。 其实一般来说,是不建议使用透明Activity的,谷歌都不建议。当然

Only fullscreen opaque activities can request orientation

房东的猫 提交于 2019-12-02 14:24:17
Android 8.0 上一个奇怪的IllegalStateException AlexMofer 关注 2018.03.16 01:52* 字数 946 阅读 217评论 0喜欢 0 Android 8.0 上一个奇怪的IllegalStateException 前言 API 26之后,给Activity应用Dialog主题,大部分第三方ROM都存在巨坑。 起因 公司项目在适配Android 8.0之后,爆发了一个触发率极高,而在Google Play Console上又找不到任何有效错误信息的IllegalStateException。Google Play Console统计信息如下: java.lang.RuntimeException: at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3184) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3279) at android.app.ActivityThread.-wrap12 (Unknown Source) at android.app.ActivityThread$H.handleMessage

Android8.0应用崩溃 (Only fullscreen opaque activities can request orientation)

a 夏天 提交于 2019-12-02 14:23:50
1.配置 2.报错 3.报错位置 4.解决方案 删除AndroidManifest中相应Activity的 android:screenOrientation="portrait"属性 或者删除相应Activity的android:theme="@style/bottomactivityTheme"属性。 来源: CSDN 作者: Penny-听海 链接: https://blog.csdn.net/weixin_37730482/article/details/78061059

android 8.0报错 Only fullscreen opaque activities can request orientation

大兔子大兔子 提交于 2019-12-02 14:23:26
android 8.0报错 Only fullscreen opaque activities can request orientation 主要就是AndroidManifest.xml中的activity同时设置 android:windowIsTranslucent = true 和 android:screenOrientation="portrait" 就会出现问题。 解决问题: ① 自己的activity 可以只设置一个 另一个可以在 BaseActivity 的 onCreate 中设置。比如: @Override protected void onCreate(Bundle savedInstanceState) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//设置竖屏模式 } ②友盟第三方,QQ登录、微信分享、微博等,直接在AndroidManifest.xml中删除 android:screenOrientation="portrait" 一般第三方自己都会有强制不强制竖屏。所以不用管。 andorid 8.1 谷歌修复了此问题 来源: CSDN 作者: 丶五行缺德 链接: https://blog.csdn.net/qq_33874397/article

Android版本问题记录:Android 8.0下异常Only fullscreen opaque activities can request orientation

江枫思渺然 提交于 2019-12-02 14:23:00
在Android8.0环境下,如果一个Activity在Manifest中设置了方向(横,竖屏),即android:screenOrientation=”landscape”/”portrait”,并且指定的android:theme中使用的style带有透明属性 < item name = "android:windowIsTranslucent" > true </ item > 那么在启动该Activity的时候在onCreate()中就会抛出异常 java.lang.IllegalStateException : Only fullscreen opaque activities can request orientation 解决方法为: MainActivity设置android:windowIsTranslucent=false,然后指定屏幕方向,而其他activity则可使用android:windowIsTranslucent=true,然后设置android:screenOrientation=”behind”,这样就可以保持屏幕方向统一了。 来源: CSDN 作者: Samlss 链接: https://blog.csdn.net/Samlss/article/details/80791042