当连接丢失时(当用户清除 RAM 时),我尝试重新连接到 LocationClient。
我尝试使用这段代码:
private final GooglePlayServicesClient.ConnectionCallbacks mConnectionCallback = new GooglePlayServicesClient.ConnectionCallbacks() {
@Override
public void onDisconnected() {
mLocationClient.removeLocationUpdates(mLocationListener);
mLocationClient.disconnect();
mLocationClient= null;
mLocationClient= new LocationClient(mContext, mConnectionCallback, mConnectionFailedCallback);
mLocationClient.connect(); // NULL POINTER EXCEPTION
}
@Override
public void onConnected(Bundle bundle) {
...
}
};
但是我在 mLocaitonClient.connect() 中得到了 NullPointerException。
10-15 08:33:26.478: E/AndroidRuntime(19572): FATAL EXCEPTION: main
10-15 08:33:26.478: E/AndroidRuntime(19572): java.lang.NullPointerException
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.bh.a(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.k.f(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.k$e.onServiceConnected(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.l.a(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.k.connect(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.location.LocationClient.connect(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.myapp.MyLocationClient$1.onDisconnected(MyLocationClient.java:92)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.k.A(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.k$e.onServiceDisconnected(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.google.android.gms.internal.l$a$a.onServiceDisconnected(Unknown Source)
10-15 08:33:26.478: E/AndroidRuntime(19572): at android.app.LoadedApk$ServiceDispatcher.doDeath(LoadedApk.java:1102)
10-15 08:33:26.478: E/AndroidRuntime(19572): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1116)
10-15 08:33:26.478: E/AndroidRuntime(19572): at android.os.Handler.handleCallback(Handler.java:615)
10-15 08:33:26.478: E/AndroidRuntime(19572): at android.os.Handler.dispatchMessage(Handler.java:92)
10-15 08:33:26.478: E/AndroidRuntime(19572): at android.os.Looper.loop(Looper.java:137)
10-15 08:33:26.478: E/AndroidRuntime(19572): at android.app.ActivityThread.main(ActivityThread.java:4898)
10-15 08:33:26.478: E/AndroidRuntime(19572): at java.lang.reflect.Method.invokeNative(Native Method)
10-15 08:33:26.478: E/AndroidRuntime(19572): at java.lang.reflect.Method.invoke(Method.java:511)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
10-15 08:33:26.478: E/AndroidRuntime(19572): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
10-15 08:33:26.478: E/AndroidRuntime(19572): at dalvik.system.NativeStart.main(Native Method)
如何修复它并重新连接?
最佳答案
一个更简单的解决方案是在 OnDisconnect 中什么也不做。
public void onDisconnect(){
//do nothing to client
}
需要使用客户端时只需检查是否已连接
if(mLocationClient.isconnected()){
mLocationClient.connect();
}
Google Play 服务似乎可以很好地重新连接,无需大惊小怪。
我已经在 4.0.4 和 4.2.2 上成功地使用了它。
关于android - LocationClient 在 `onDisconnect` 处自动重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373972/
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
我早就知道Ruby中的“常量”(即大写的变量名)不是真正常量。与其他编程语言一样,对对象的引用是唯一存储在变量/常量中的东西。(侧边栏:Ruby确实具有“卡住”引用对象不被修改的功能,据我所知,许多其他语言都没有提供这种功能。)所以这是我的问题:当您将一个值重新分配给常量时,您会收到如下警告:>>FOO='bar'=>"bar">>FOO='baz'(irb):2:warning:alreadyinitializedconstantFOO=>"baz"有没有办法强制Ruby抛出异常而不是打印警告?很难弄清楚为什么有时会发生重新分配。 最佳答案
我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame