我想问一些事情。我现在意识到通过正常的SDK应用程序无法打开GPS。我的问题是我需要在没有用户确认的情况下这样做(我的应用程序的基本原则是静默工作)。我需要它,因为我的应用程序旨在被公司用来跟踪他们的设备(平板电脑)。它需要打开GPS才能获得位置,然后将其关闭。这意味着,如果我们提示用户打开GPS,他可能不会这样做,而应用程序(实际上是服务)将无法正常工作。
我的下一步是寻找替代解决方案,我的意思是,如果我们使用设置启用GPS,它最终会被核心应用程序/服务打开。我的假设是它使用本机代码访问GPS设备并打开它(如果我错了,请纠正我并指出正确的答案)。
因此我的问题是 - 如果可能的话,我怎么能在NDK中做到这一点,以后如何将它与我的应用程序集成。如果NDK无法处理它,怎么办?必须有办法,因为它最终会在设置中完成。
我还想问一下有关互联网连接的相同问题(或者使用网络提供商来获取位置)。
提前感谢您的贡献!
答案 0 :(得分:0)
您可能会找到一种使用NDK / JNI呼叫处理GPS的方法,但是如果没有通知Android设备上的用户,就没有GPS这样的东西。他可以关闭GPS或拒绝打开它。在这种情况下,该设备本身(硬件)会关闭GPS传感器。
可能的方法是使用其他方法来定位设备:
答案 1 :(得分:0)
“设置”不是一个应用程序。
因此,如果您已经创建了一个应用程序,您应该以某种方式理解Android应用程序的基础知识,但如果您并不真正理解它们,那么我想说应用程序通常在“沙箱”中运行,这些应用程序可能是如果认为有必要,系统会销毁/终止。也没有“静音模式”这样的东西。用户必须接受/拒绝权限,如果您的设备上安装了Android操作系统,则用户必须能够控制其设备。 当然有办法规避这些方法,这些方法可能包括:
如果我在你的鞋子里,我肯定会选择第三种选择。从技术挑战来看,#2是我认为唯一的方法,也是一个非常有趣的架构,你可以在很长一段时间内实现...所以你还需要确保投入的努力值得花2小时你的雇主将在家与他的孩子一起玩愤怒的小鸟;)然而,如果你在挑战中比任何真实的应用程序更多,这是你从各个角度学习Android操作系统的绝佳机会。 NDK可能会帮助您,但不是您想要的方式......更多的是自定义加密等等。
编辑:对不起我的扭曲逻辑和表达方式,但现在已经很晚了,并且已经很漫长了。