Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序退出,而不是转到下一个活动_Android_Android Intent_Android Activity - Fatal编程技术网

Android 应用程序退出,而不是转到下一个活动

Android 应用程序退出,而不是转到下一个活动,android,android-intent,android-activity,Android,Android Intent,Android Activity,我通过一个简单的意图调用一个活动: Intent startNewActivityOpen2 = new Intent(this, TransitionLandscape.class); if (extras != null) { if (!extras.isEmpty()) { startNewActivityOpen2.putExtras(extras); } } startActivity(startNewActivityOpen2

我通过一个简单的意图调用一个活动:

Intent startNewActivityOpen2 = new Intent(this, TransitionLandscape.class);
if (extras != null) {
        if (!extras.isEmpty()) {

           startNewActivityOpen2.putExtras(extras);
        }
}

startActivity(startNewActivityOpen2);
当前活动也是TransistionLandscape.class是否重要?当我启动新活动时,应用程序退出(不会崩溃)。通过调试器,从未调用新活动:(从未调用onCreate-in)

从文档中可以看出,一个活动似乎可以调用自己

Logcat

12-10 21:08:23.410 543-553/? I/ActivityManager: START u0
{cmp=com.assistek.ediary/.TransitionLandscape (has extras)} from pid
4801
12-10 21:08:23.470 543-573/? D/dalvikvm: GC_FOR_ALLOC freed 437K, 18% free 14435K/17524K, paused 51ms, total 52ms
12-10 21:08:23.490 4801-4801/com.assistek.ediary D/Base Activity: **********Pause class com.assistek.ediary.TransitionLandscape
    **********Pause Navigate: true
    **********Resume class com.assistek.ediary.TransitionLandscape
    **********Focus: false Activity: class com.assistek.ediary.TransitionLandscape
12-10 21:08:23.500 4801-4801/com.assistek.ediary D/Base Activity: **********Pause class com.assistek.ediary.TransitionLandscape
    **********Pause Navigate: false
12-10 21:08:23.520 543-600/? I/InputReader: Reconfiguring input devices.  changes=0x00000004
    Device reconfigured: id=2, name='elan-touchscreen', size 800x1280, orientation 0, mode 1, display id 0
12-10 21:08:23.520 543-1012/? I/ActivityManager: Config changes=480 {1.0 310mcc170mnc en_US ldltr sw600dp w600dp h880dp 213dpi
lrg port finger -keyb/v/h -nav/h s.11}
12-10 21:08:23.540 961-961/? I/PCKeyboard: onConfigurationChanged()
12-10 21:08:23.580 543-561/? I/WindowManager: Screen frozen for +74ms due to Window{425793b8 u0 com.assistek.ediary/com.assistek.ediary.TransitionLandscape}
12-10 21:08:23.600 634-634/? D/PhoneStatusBar: mSettingsPanelGravity = 8388661
12-10 21:08:23.690 543-1045/? I/ActivityManager: Killing 1995:com.google.android.setupwizard/u0a50 (adj 15): empty #17
12-10 21:08:23.720 4801-4801/com.assistek.ediary W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
12-10 21:08:23.730 4801-4801/com.assistek.ediary D/Base Activity: **********Stop Navigate Away false
    **********Stop class com.assistek.ediary.TransitionLandscape
    **********Stop Focus ToClass class com.assistek.ediary.TransitionLandscape
    Task ID 151
    **********Destroy class com.assistek.ediary.TransitionLandscape
12-10 21:08:23.740 4801-4801/com.assistek.ediary D/Time calculation:: Destroy: class
com.assistek.ediary.TransitionLandscape
12-10 21:08:25.660 543-561/? D/dalvikvm: GC_EXPLICIT freed 287K, 18% free 14449K/17524K, paused 8ms+5ms, total 78ms
12-10 21:08:26.430 543-600/? I/InputReader: Reconfiguring input devices.  changes=0x00000004
    Device reconfigured: id=2, name='elan-touchscreen', size 800x1280, orientation 1, mode 1, display id 0
12-10 21:08:26.430 543-566/? I/ActivityManager: Config changes=480 {1.0 310mcc170mnc en_US ldltr sw600dp w961dp h528dp 213dpi lrg land
finger -keyb/v/h -nav/h s.12}
12-10 21:08:26.460 961-961/? I/PCKeyboard: onConfigurationChanged()
此外,请致电:

recreate() 
除转到新活动外,还会导致应用程序退出(不会崩溃)

编辑:清单

        <activity
        android:name=".TransitionLandscape"
        android:configChanges="orientation"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="landscape"
        android:windowSoftInputMode="stateHidden">
    </activity>


实际上,我在TransitionLandscape之后调用的任何活动都会导致应用程序退出。这是内存问题吗

为您的活动使用不同的名称。

我认为您应该尝试删除“添加额外代码块”,以了解如果问题是从它开始的,或者您也可以稍微修改TransitionLandScape活动,例如删除清单文件中的launchMode=“singleTask”标记。。。然后再次运行应用程序以检查您是否解决了问题。这只是我的意见,我的英语不是很好,如果有语法错误,我很抱歉。

您的应用程序在收到更改的配置后崩溃

12-10 21:08:23.520 543-600/? I/InputReader: Reconfiguring input devices.  changes=0x00000004
    Device reconfigured: id=2, name='elan-touchscreen', size 800x1280, orientation 0, mode 1, display id 0
12-10 21:08:23.520 543-1012/? I/ActivityManager: Config changes=480 {1.0 310mcc170mnc en_US ldltr sw600dp w600dp h880dp 213dpi
lrg port finger -keyb/v/h -nav/h s.11}
    12-10 21:08:23.540 961-961/? I/PCKeyboard: onConfigurationChanged()
12-10 21:08:23.740 4801-4801/com.assistek.ediary D/Time calculation:: Destroy: class
com.assistek.ediary.TransitionLandscape
你能试一下吗

android:configChanges="orientation|screenSize|keyboardHidden" />
还有其他方法可以处理配置更改
您可以检查此项

这不是内存问题,

日志的这一行清楚地表明,在更改活动方向(onConfigurationChanged())时存在问题

WindowManager:由于窗口原因,屏幕冻结了+74毫秒

在清单文件中,它将不允许在更改设备方向时重新创建活动

尝试使用recreate()方法或onCreate()方法中的代码更改/设置应用程序方向

setRequestedOrientation(Configuration.ORIENTATION_LANDSCAPE);

请您更改以下行

android:configChanges="orientation"


在您的清单文件中。

您发布的任何内容都不包含stacktrace。您的代码还声明了
startNewActivityOpen2
,但随后引用了
i
。“你确定是这样吗?”流浪者我更新了密码。并且没有堆栈跟踪:不会抛出错误。我没有收到“不幸的是,我的应用程序已停止”。@Raghunandan我没有收到崩溃或消息“不幸的是,你的应用程序已停止”。应用程序刚刚退出。从清单中删除
android:launchMode=“singleTask”
。阅读本文:实际上,TransitionLandscape类之后的任何内容都会导致应用程序退出。我完全困惑了。实际上,你可以有一个活动调用本身。所以我不认为这是问题所在。在我看来,这应该是一个评论,因为你没有证明你的答案是正确的,因为这个答案将如何纠正所面临的问题……但我不能评论,我没有权限。@HabibMhamadi我理解,在50+的声誉之后,评论权限将被解锁,但我认为冒着降低投票率的风险将评论伪装成答案是不值得的。不知道为什么配置会发生变化……当时不在屏幕上。你有什么想法吗?应用程序没有崩溃。就是这样!既然你先回答了,我就给你奖金。此外,我还删除了“android:launchMode=“singleTask”。
android:configChanges="orientation|screenSize|keyboardHidden" />