0

我正在开发具有记录 GPS 位置的 Activity 的应用程序。它注册 LocationListener 更新并将记录的 Location 存储到 SQLite 数据库。我的问题是当用户隐藏我的应用程序或运行另一个应用程序时,我的应用程序和录制活动进入后台并可能被系统杀死。因此,不存储 GPS 数据。我希望即使应用程序进入后台,我的应用程序和记录活动仍会记录 GPS 位置。如何做到这一点?

谢谢

4

2 回答 2

2

服务最适合您打算做的事情。

确保您启动服务STICKY

于 2012-10-22T13:13:48.153 回答
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.
    }
}
于 2012-10-22T13:11:36.093 回答