我注意到我的应用中有一种奇怪的行为。
我有一个StartActivity
来检查用户是否经过身份验证(这是查看内容所必需的)。如果是,则会调用finish()
并以内容开始(startActivity
)Activity
。
如果用户未经过身份验证,则SignInActivity
启动startActivityForResult
。
这是在奇怪的事情开始发生的时候 - 立即,在调用startActivityForResult
之后,调用onDestoryed
。取消SignInActivity
后,onCreate
再次调用StartActivity
,SignInActivity
即被启动。当我再次取消Activity
次StartActivity
次来电finish()
时(预期){/ p>
修改
@Seshu Vinay已经问'取消SignInActivity
'是什么意思。
它基本上意味着响应软件/硬件back
按下(不在Action Bar!中)并取决于默认结果。
Edist#2
继承我的Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp"
android:versionCode="4"
android:versionName="1.1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:name=".MyApp"
android:theme="@style/AppTheme.NoActionBar" >
<activity
android:name=".StartActivity"
android:screenOrientation="sensorLandscape"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SignIn"
android:theme="@style/AppTheme"
android:screenOrientation="sensorLandscape"
android:windowSoftInputMode="adjustResize"
/>
<activity
android:name=".ContentActivity"
android:theme="@style/AppTheme"
android:screenOrientation="sensorLandscape"
>
</activity>
</application>
</manifest>
编辑#3
我在SignIn
中开始onCreate
:
Intent i = new Intent(this, SignInActivity.class);
startActivityForResult(i, 123);
我创建了一个简单的项目,可以重现可用的问题here(github)