Tag: google play services

android – 获取位置并仅在条件为真时将数据发送到远程服务器

我正在构建一个需要将用户位置发送到远程服务器的应用程序(在本例中为Pusher)。 目标是近乎实时地更新他们在地图上的位置,但仅限于他们在工作时,否则应用程序将不需要跟踪他们的位置。 如果他们离开他们接受工作的活动(因此被放置在地图上)并且他们完全离开应用程序,我需要位置更新保持活动状态。 一旦他们到达目的地,我希望停止此背景跟踪。 我一直在关注Android的Service组件,但我不确定它是否是我需要的。 更新应无限期地在后台进行,但仅在用户被分配到作业时(更新在他们接受作业时开始,在到达目的地时结束)。 Bound服务会是最好的吗? 如果是这样,那么与此问题相关的一些代码将非常受欢迎,因为我能找到的很多内容都是通用的,并且可以返回随机整数。 这是我希望在后台执行的代码: package com.example.locationtester; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.TextView; import android.widget.Toast; import com.pusher.client.Pusher; import com.pusher.client.PusherOptions; import com.pusher.client.channel.PrivateChannel; import com.pusher.client.channel.PrivateChannelEventListener; import com.pusher.client.connection.ConnectionEventListener; import com.pusher.client.connection.ConnectionState; import com.pusher.client.connection.ConnectionStateChange; import com.pusher.client.util.HttpAuthorizer; import org.json.JSONException; import org.json.JSONObject; public class MainActivity extends AppCompatActivity { […]

多个dex文件定义 – 删除额外的jar文件仍然无效。 我该怎么办?

我正在尝试将Google Play服务应用到我的应用程序中。 我知道有一个名为BaseGameUtils的示例项目,我需要将其导入我的工作区并将其标记为库。将google-play-services_lib导入我的工作区后,我将其作为BaseGameUtils库中的库引用。 最后,我在我实际想要发布到Google Play的项目中引用了BaseGameUtils和google-play-services_lib。 在所有这些连接的某个地方,我的类路径中有一个同名的jar文件。 要解决此问题,我需要删除google-play-services_lib的一个引用,因为当我尝试导出项目时,我收到此错误: 无法执行dex:多个dex文件定义Lcom / google / ads / AdRequest $ ErrorCode; 好的,所以如果我取消选择“Android私人图书馆”,项目将会导出,但没有任何Google Play服务可用。 当我尝试启动该类时,在启动应用程序时,我收到错误: super.onCreate(savedInstanceState); 我明白我必须打电话 setRequestedClients(BaseGameActivity.CLIENT_GAMES | BaseGameActivity.CLIENT_APPSTATE); 之前 // call BaseGameActivity’s onCreate() super.onCreate(savedInstanceState); 但它不起作用。 这意味着GoogleApiClient将无法启动,因为未导出类。 @Override public void onCreate(Bundle savedInstanceState) { // set requested clients (games and cloud save) setRequestedClients(BaseGameActivity.CLIENT_GAMES | BaseGameActivity.CLIENT_APPSTATE); // call BaseGameActivity’s onCreate() super.onCreate(savedInstanceState); // […]