首页 > 解决方案 > 打开设置活动后显示 Toast

问题描述

我试图在打开设置活动后立即显示 Toast,其中应包含一些关于在打开屏幕中执行操作的说明。

例如,假设我希望用户连接到特定网络,所以在我的代码中我运行

    Toast.makeText(context, "Instruction message", Toast.LENGTH_SHORT).show()
    startActivity(Intent(Settings.ACTION_WIFI_SETTINGS))

显示 Toast,然后调用打开 WiFi 设置活动。这里的问题是 Toast 将显示在我的应用程序内的当前 Activity 中,但一旦新 Activity 出现,它就会很快消失。

我想知道是否有一种方法可以在打开的 Activity 上显示相同的 Toast,而不是在正在调用的那个,以便正确地指导用户在这样的新 Activity 上做什么。

或者也许有更好的方法来实现这一点?

标签: androidkotlinandroid-activityandroid-toast

解决方案


我认为如果你使用对话框会更好,所以点击确定后,用户将看到更改 WiFi 的屏幕,如下所示:

AlertDialog.Builder(context)
    .setTitle("Your app name")
    .setMessage("Please turn on WiFi on the following screen.")
    .setPositiveButton("OK", DialogInterface.OnClickListener { dialog, id ->
        {
            startActivity(Settings.ACTION_WIFI_SETTINGS)
        }
    })
    .setNegativeButton("Cancel", null)
    .show();

您可以在此处阅读有关对话框的更多信息:https ://developer.android.com/guide/topics/ui/dialogs


推荐阅读