【问题标题】:Close/Kill Android application from recent application on soft key press按下软键时从最近的应用程序中关闭/杀死 Android 应用程序
【发布时间】:2015-12-30 21:28:42
【问题描述】:

我有一个覆盖所有应用程序的视图。我想在按下软键时从屏幕上关闭覆盖视图(主页、返回和最近)。我有一个没有内容的透明活动,它正在启动具有覆盖视图的服务。

    public class SampleOverlayShowActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startService(new Intent(this, SampleOverlayService.class));
    }

    @Override
    protected void onPause() {
        SampleOverlayService.stop();
        finish();
        super.onPause();
    }
}

清单内

<activity
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:name="SampleOverlayShowActivity"
            android:excludeFromRecents="true"
            android:theme="@android:style/Theme.Dialog" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

除了最近的应用外,一切正常。最近按下应用程序按钮时仍会显示活动。当我再次按下最近的应用程序按钮时,它被删除了。

【问题讨论】:

    标签: android android-activity service android-windowmanager


    【解决方案1】:

    这应该比尝试覆盖软键行为来进行清理要简单得多。相反,请确保该活动已启动,以便它没有最近的跟踪。从清单中添加 noHistory 和 excludeFromRecents

    <activity android:excludeFromRecents="true"
              android:noHistory="true"
              android:name=".."
              ...>
         <intent-filter>
                ...
         </intent-filter>
    </activity>
    

    请注意 android:excludeFromRecents 仅适用于该任务,因此您可能希望使用适当的标志 (android:launchMode="singleTask") 确保该活动也是一项新任务

    【讨论】:

    • 所以你说我应该有一个新的活动来完成具有 android:excludeFromRecents="true" 和 android:noHistory="true" 的应用程序
    • 我不确定你在说什么。我是说 excludeFromRecents 的透明活动也应该是 noHistory 和 singleTask
    • 我用 noHistory 和 singleTask 进行了尝试。它仍然无法正常工作。我仍然可以在最近的应用程序中看到我的应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多