gpt4 book ai didi

android - 基于地理位置测试应用程序?

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:53 25 4
gpt4 key购买 nike

我有一种情况需要测试智能手机应用程序。目标是根据地理位置禁用我的应用程序。因此,举例来说,假设我正在通过我的应用程序“直播” 流式传输一些视频,如果用户进入某个受限位置,我想禁用流式传输,并在用户移动到可接受的地质区域时将其打开。

现在测试部分是,假设所有手机都在我面前有 5 部手机,我想测试在它们上面运行的应用程序,当它们进入限制区域时应用程序将被关闭。如何实现?

编辑:-实际场景 - 不应在 Android 应用程序的体育场附近区域显示的比赛直播。因此,如果用户点击应用程序上的“播放”按钮,并且手机在比赛的特定持续时间内实际处于视频限制区,则不应将视频流式传输到该手机。

有什么想法……意见……?

谢谢

最佳答案

在 Android 上,您有多种选择可以为您的应用程序提供模拟位置:通过 DDMS、telnet 或通过 LocationManager:

DDMS

从 AndroidSDK/tools/文件夹启动 DDMS。选择您要为其欺骗位置的设备,然后转到 Emulator Control。在选项卡的底部,您应该可以找到手动设置位置的选项,以及要欺骗的位置。

ADB/远程登录

通过 adb devices 列出您的所有设备。从这里你应该得到这样的输出:

List of devices attached
emulator-5554 device

然后telnet到指定的端口:

telnet localhost 5554

这应该会打开 android 控制台。在那里你可以使用 geo fix 命令来设置位置

geo fix $lon $lat

位置提供者

您可以使用 LocationProvidersetTestProviderLocation 方法提供测试位置

LocationManager lm = (LocationManager)this.getContext().getSystemService(Context.LOCATION_SERVICE);
String mocLocationProvider = "Test";
locationManager.addTestProvider(mocLocationProvider, false, false,
false, false, true, true, true, 0, 5);
locationManager.setTestProviderEnabled(mocLocationProvider, true);

Location mockLocation = new Location(mocLocationProvider);
mockLocation.setLatitude(location.getLatitude());
mockLocation.setLongitude(location.getLongitude());
mockLocation.setAltitude(location.getAltitude());
mockLocation.setTime(System.currentTimeMillis());
locationManager.setTestProviderLocation( mocLocationProvider, mockLocation);

这个方法我从here得到的

另外,不要忘记设置权限

<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION">

关于android - 基于地理位置测试应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com