所以我有一个需要互联网连接且已启用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。该应用程序必须先具有这些权限和设置,然后才能继续进行下一个活动,并且在完成此操作后,它会立即继续进行下一个活动。有没有比我做的更好的方法了?有人用过这种东西吗?还是很业余的举动?
3。我在位置上遇到了问题,即使用户已启用它并且我的程序检测到已启用它,电话也需要一段时间才能真正启动并运行,因此当它传递到下一个位置时活动(可立即执行操作),即使已启用,也无法找到设备位置。有人遇到这个问题吗?
我知道即时消息应用开发不是很正确,但是下学期我将开设一门应用程序开发课程,然后我想开始深入学习它,但是我只是有了这个应用程序的想法并且想要做到,我几乎完成了。 谢谢!