在Android O(8.0.0+)(API 26+)中,如何在应用程序处于后台或终止时获取位置服务更新.在"Strava"Android应用程序(在Play商店中可用),当应用程序在后台或终止时,位置服务可以正常运行.我需要在我的应用程序中构建相同的功能.每当我开始使用服务
startService(new Intent(this, GpsServices.class));
Run Code Online (Sandbox Code Playgroud)
然后当应用程序处于空闲模式(应用程序在后台或终止)时,10秒后调用onDestroy方法.以下是我的代码.
public class GpsServices extends Service implements LocationListener, Listener {
@Override
public void onCreate() {
mLocationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
if (mLocationManager != null) {
mLocationManager.addGpsStatusListener(this);
}
if (mLocationManager != null) {
mLocationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
500,
0,
this);
}
}
public void onLocationChanged(Location location) {
System.out.println("location = [" + location + "]");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// If we …Run Code Online (Sandbox Code Playgroud) android background geolocation android-service android-8.0-oreo
如何在Kiosk模式下运行Android App,禁用安全模式并阻止设备进行硬重置?
我对我的应用有以下3个要求:
在设备的正常模式下仅向学生显示特定应用程序.这可以通过禁用默认启动器和启用自助服务终端启动器来实现.
禁用或将密码设置为安全模式,以避免使用系统应用程序或内置应用程序(youtube,视频播放器,音乐应用程序等).
通过禁用长按设备的硬键(电源按钮,音量按钮)来限制设备的硬重置.
我已经解释了这些要求,并提出了以下详细的理解.
我们可以重新设计学校学生应用程序,使自己成为一个将在自助服务终端模式下运行的启动器应用程序.这意味着我们不会要求任何其他(试用版)启动器应用程序.
我们可以通过AppLock应用程序或类似的其他应用程序禁用对系统或第三方应用程序的安全模式访问.它仅适用于Android Marshmallow 6.0.但是有一个Android限制 - 它不适用于Nougat/Oreo设备.或者,我们尝试按下电源按钮按键以防止设备进入安全模式.但Android不允许根据此链接和其他各种方式从我们的应用程序访问或收听电源按键.
ANDROID 7.0(NOUGAT)和8.0(OREO)的重要说明 - 请点击此处链接
根据MMGuardian应用程序,目前无法为在Android 7.0或8.0上运行的手机启用安全模式锁定.如果之前启用了安全模式锁定的旧手机更新为这些版本的Android,安全模式锁定功能将被禁用.
有人可以帮我添加更多想法让我更详细地了解这种情况吗?
我正朝着正确的方向前进吗?或者我是否正确详细说明了?