Android App,已检查互联网和位置信息已启用

时间:2018-07-10 15:41:07

标签: android android-studio mobile

所以我有一个需要互联网连接且已启用android位置的应用。它是在一个空活动中记录的,该活动仅用于确定用户是否登录到Facebook并检查上述要求。我测试用户是否已连接wifi或启用位置的方法是:

boolean isloc=isLocationEnabled(this);
boolean isconnected=haveNetworkConnection();

if (isconnected==false)
{
    startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
    while (true) {
        if (haveNetworkConnection() == true) {
            break;
        }

    }
}
if (isloc==false) {
    ActivateLocation();
    while (true) {
        if (isLocationEnabled(this) == true) {

            break;
        }
    }

}

因此,它会检查他是否已连接到Internet,然后启动将其视图更改为wifi设置的意图,因此while循环将保持主线程处于阻塞状态,直到用户连接到wifi。然后转到用于该位置的第二个while循环。函数ActivateLocation()基本上只是将用户带到位置启用/禁用设置屏幕的另一个意图。我遇到的问题:

1。该应用程序必须先具有这些权限和设置,然后才能继续进行下一个活动,并且在完成此操作后,它会立即继续进行下一个活动。有没有比我做的更好的方法了?有人用过这种东西吗?还是很业余的举动?

  1. 此方法有效,并且我的应用程序是一个简单的应用程序,可将来自Facebook的信息映射到地图上,并且仅旨在供一个城市使用(这是其目的),因此,如果该方法可行且运行速度很快( while循环每毫秒传递一次),我可以摆脱它吗?我可以像这样发布应用程序吗?请记住,仅当用户未连接到任何类型的互联网或位置被禁用时才会调用该应用程序的此部分(大多数人会通过要求,因此几乎永远不会调用该应用程序的此部分)。是我的第一个应用程序,我对标准不熟悉。

3。我在位置上遇到了问题,即使用户已启用它并且我的程序检测到已启用它,电话也需要一段时间才能真正启动并运行,因此当它传递到下一个位置时活动(可立即执行操作),即使已启用,也无法找到设备位置。有人遇到这个问题吗?

我知道即时消息应用开发不是很正确,但是下学期我将开设一门应用程序开发课程,然后我想开始深入学习它,但是我只是有了这个应用程序的想法并且想要做到,我几乎完成了。 谢谢!

0 个答案:

没有答案