活动noHistory =" true"屏幕锁定时不起作用

时间:2016-02-18 16:25:18

标签: android android-activity

我已为清单上的noHistory="true"设置了Activity。预期结果是当用户离开Activity并且屏幕上不再显示活动将完成时。

当我通过按主页按钮导航到不同的应用程序并返回活动按预期重新创建时,这可以正常工作。但是当Activity可见时,如果屏幕已锁定,则会解锁resumes the activity。我希望Activity重新创建或不显示,让用户再次启动应用。

  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".TestActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:noHistory="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

1 个答案:

答案 0 :(得分:1)

  

我希望Activity重新创建或只是不显示,让用户   再次启动应用程序。

我相信你可以处理 如果屏幕被锁定 ,然后做你的东西,比如杀死app.Seems就像当用户锁定屏幕时,{{1进入Activity方法。

这是logcat:

onPause();

所以,当用户在02-18 20:27:23.621 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onCreate() event 02-18 20:27:23.621 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onStart() event 02-18 20:27:23.626 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onResume() event 02-18 20:27:27.156 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onPause() event 02-18 20:27:27.161 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onStop() event 02-18 20:27:36.866 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onRestart() event 02-18 20:27:36.866 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onStart() event 02-18 20:27:36.881 22250-22250/com.client.stackoveflow E/LifeCycleEvents: In the onResume() event 方法中锁定屏幕时,请杀死应用/或做你的事情:

onPause();

然后,如果用户锁定了屏幕,App将完成并需要再次打开它。