据我所知,默认情况下,当设备旋转时,当前活动将被销毁并重新创建。我正在使用LeftCTRL + F12旋转仿真器,但它没有被破坏。我已登录OnDestroy
,OnCreate
以及OnStart
和OnResume
,但在我旋转设备时,这些都没有启动。
在:
后:
的AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.geo_quiz"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.geo_quiz.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:1)
我想我知道答案。在Android Studio 3.4.1(撰写本文时的最新信息)上,针对Pixel 2,API级别28的模拟器使用了相同的问题。
我是通过以下方式解决此问题的:拖动模拟器上的“快速设置”下拉菜单(从模拟器屏幕的右上角单击并拖动),并确保启用了自动旋转。
当我选中它时,它不是,所以我启用了它。启用它后,模拟器可以正常工作:)。
希望这对您有帮助!
答案 1 :(得分:0)
请在此处查看emulator keyboard mapping。
希望有助于。
答案 2 :(得分:0)
根据您的屏幕截图,设备似乎没有改变方向。您的活动仍显示纵向布局。唯一改变的是显示窗口的方向。当方向发生变化时,您的文字应该是直立的,在截图中他们的“向上”指向左侧。 在真实设备上运行它,并将调用onDestroy。 100%的时间。保证
编辑以下Oleksiy评论:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
您不应该使用模拟器进行开发。它太慢而且不可靠。一堆东西不会在那里工作。使用您的设备连接。你会省事自己。
我还发现了这个bug报告,它被标记为“无法生产”:http://code.google.com/p/android/issues/detail?id=17963
答案 3 :(得分:0)
首先转到相机应用程序,然后运行您的应用程序。相机应用程序会自动更改您的视图。
答案 4 :(得分:0)
您的模拟设备(例如电话)(而非模拟设备)可能未打开旋转检测功能。在手机的设置中,打开旋转检测。这是该图标的屏幕截图。