我正在开发应用程序,我有记录GPS位置的Activity。它注册LocationListener更新并将记录的Location存储到SQLite数据库。我的问题是,当用户隐藏我的应用程序或运行另一个应用程序时,我的应用程序和录制活动将转到后台,可能会被系统杀死。因此,不存储GPS数据。我希望我的应用和录制活动仍然记录GPS位置,即使应用程序转到后台。 如何实现?
由于
答案 0 :(得分:2)
Service最适合您打算做的事情。
让shure启动服务STICKY
答案 1 :(得分:0)
使用Android的其他组件,例如BroadcastReceiver
或Service
,可以在没有任何GUI的情况下在后台运行。
public class UploadData extends BroadcastReceiver
{
private static LocationManager locationManager = null;
private static LocationListener locationListener = null;
@Override
public void onReceive(Context context, Intent intent)
{
// Create and AlarmManager that will periodically fetch the GPS
}
}
如果是服务,
public class myservice extends Service
{
LocationManager locationManager = null;
LocationListener loclistener = null;
// Bind it, Its important
public IBinder onBind(Intent intent)
{
return null;
}
@Override
public void onCreate()
{
// Use AlarmManager to fetch the GPS periodically.
}
}