gpt4 book ai didi

android - 当用户点击 HOME 按钮 android 时显示 PIN 屏幕

转载 作者:行者123 更新时间:2023-11-30 04:38:56 24 4
gpt4 key购买 nike

我有一个 Android 应用程序,其中包含多个 Activity ,用户可以在登录 Activity 后使用这些 Activity 。我想要做的是在用户点击主页按钮(从任何 Activity )然后返回到应用程序时显示 PIN/登录 Activity 。实际上,我想做的是在单击主页按钮时注销用户。

通过阅读其他帖子,我了解到无法使用按键单击事件处理程序直接处理主页按钮单击。我尝试在 Activity 中为 CATEGORY_HOME Intent 添加一个 Intent 过滤器:

@Override
public void onCreate( Bundle savedInstanceState ) {
IntentFilter homeIntentFilter = new IntentFilter();
homeIntentFilter.addCategory( Intent.CATEGORY_HOME );
BroadcastReceiver homeReceiver = new BroadcastReceiver() {
@Override
public void onReceive( Context context, Intent intent ) {
showHomeToast();
}
};
registerReceiver( homeReceiver, homeIntentFilter);
}

public void showHomeToast() {
Toast homeToast = Toast.makeText( this, "home clicked", Toast.LENGTH_LONG );
homeToast.show();
}

但这似乎并没有触发。

此外,由于应用程序中有许多 Activity ,在 onPause 或 onStop 事件中触发注销似乎有问题,因为当用户只是切换到应用程序中的其他 Activity 时它们会触发 - 在这种情况下,用户应该不会退出应用程序。 (另外,根据实验,onDestroy 不会通过简单地点击 HOME 按钮来调用)

在这一点上,我觉得我正在与 Android 架构作斗争,所以我正在寻找替代方法。我已经考虑过尝试反转我的方法并使用 onResume 事件,但我还是不清楚如何知道给定的 Activity 是否正在从应用程序中的另一个 Activity 恢复(不需要 PIN/登录)或者因为用户已经调用再次申请。

任何方法将不胜感激。

最佳答案

您是否尝试过对 showHomeToast 使用 runOnUIThread() 方法?问题可能是它从错误的线程中烘烤。我可能看起来像:

runOnUiThread(new Runnable(){

@Override
public void run() {
showHomeToast();

}

});

关于android - 当用户点击 HOME 按钮 android 时显示 PIN 屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6344883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com