【问题标题】:Calling WIFI settings (similar to AllShare app)呼叫 WIFI 设置(类似于 AllShare 应用程序)
【发布时间】:2012-06-12 12:10:59
【问题描述】:

经过几天的挣扎,我终于选择在这里寻求建议。 我正在创建一个需要 WIFI 连接的 android 应用程序。因此,在进入应用程序时,我将提示用户打开 wifi,并且我想向用户显示 android 中存在的“默认 Wifi 设置”,以便用户可以配置网络并连接到它。

我能够毫无问题地创建启动 Wifi 设置活动的意图。但我想要的是以下

要求:一旦用户从 wifi 设置活动连接到特定网络,我想在不按下返回按钮的情况下返回我的应用活动(这是在 AllShare 应用中实现的,但我没有如何)。

谁能给我建议吗?

【问题讨论】:

    标签: android android-activity wifi


    【解决方案1】:

    在您的 Activity 中注册一个广播接收器,该接收器将接收建立的 Wifi 连接,然后通过启动 Activity 作为接收器的新任务再次将您的 Activity 带入。

    Here 是 Wifi 广播接收器的一个很好的例子

    【讨论】:

    • 我尝试了相同的方法,但接收器未在活动的 onStop() 中注册。如果我仅在 onDestroy 中取消注册接收器,那么它将起作用,但当用户与 Wifi 设置交互时,不能保证该活动存在。如有错误请指正。
    • 如果你需要带上Activity,不管activity是在onPause还是已经销毁,那么你可以独立于Activity注册你的广播接收器,并且可以从Receiver带Activity
    • 我注册了一个静态广播接收器来接收wifi状态变化,在接收器中我启动了MyActivity,我必须在意图中添加'FLAG_ACTIVITY_NEW_TASK',否则android会抛出异常。通过这样做,我满足了我的要求,但又提出了一个问题。问题是我是否打开了我的应用程序以及 wifi 设置(android 中的默认设置)。在 wifi 设置中,如果我去连接网络,那么下一刻我的活动就会启动,这不应该发生,因为 wifi 设置已被用户作为单独的应用程序打开。我仍然找不到确切的方法:-(
    • 您可以在您的 Activity 启动 wifi 设置时注册您的接收器,并可以在您返回您的 Activity 时取消注册,或者只是在 onReceive 中取消注册。
    猜你喜欢
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多