在Android 6.0设备上按两次电源按钮时活动未停止

时间:2018-07-05 14:53:00

标签: android android-activity android-camera sleep screen-lock

我有一个应用程序,其中有一个针对信息亭应用程序的一些活动。一个活动是充当启动器的主要活动(MainActivity),另一个活动(SettingsLobbyActivity)应处理双击电源按钮(android.media.action.STILL_IMAGE_CAMERA)。

下一步是我的应用程序清单的一部分:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:name="com.mycompany.MyApp"
    android:theme="@style/AppTheme" >

    <activity
        android:name="com.mycompany.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleInstance"
        android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.mycompany.SettingsLobbyActivity"
        android:clearTaskOnLaunch="true"
        android:launchMode="singleTask"
        android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar" >
        <intent-filter>
            <action android:name="android.media.action.STILL_IMAGE_CAMERA" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.media.action.STILL_IMAGE_CAMERA_SECURE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.mycompany.SetFrontendActivity"
        android:launchMode="singleTask"
        android:theme="@android:style/Theme.Holo.Light.Dialog" >
    </activity>

    <activity
        android:name="com.mycompany.SetHandshakeActivity"
        android:launchMode="singleTask"
        android:theme="@android:style/Theme.Holo.Light.Dialog" >
    </activity>

    ... services
    ... broadcast receivers
</application>

如果我在任何活动中都处于启动器上,然后双击电源按钮,则SettingsLobbyActivity将正确启动,但是只要我的MainActivity位于前台并且双击电源按钮,就不会启动SettingsLobbyActivity。

在两种情况下查看logcat时,问题似乎出在两次按下电源按钮时MainActivity没有停止。接下来是日志:

enter image description here

您可能会在下一种方法中看到,我只在onStop上打印到logcat:

@Override
protected void onStop(){
    super.onStop();
    Log.v(getString(R.string.app_name), "MainActivity:onStop()");
}

有人知道如何解决这个问题吗?也许知道发生了什么或有什么可能阻止MainActivity停止?

0 个答案:

没有答案