.line 1854
invoke-virtual {p1}, Landroid/location/Location;->isFromMockProvider()Z
move-result p1
goto :goto_6
.line 1856
:cond_d
iget-object p1, p0, Lcom/bel/HYS/FileexplorerActivity$NetworkHitLatLong;->this$0:Lcom/bel/HYS/FileexplorerActivity;
invoke-static {p1}, Lcom/bel/HYS/FileexplorerActivity;->access$100(Lcom/bel/HYS/FileexplorerActivity;)Landroid/content/Context;
move-result-object p1
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
const-string v7, "mock_location"
invoke-static {p1, v7}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
const-string v7, "0"
invoke-virtual {p1, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
xor-int/2addr p1, v5
:goto_6
if-eqz p1, :cond_e
我尝试在包含
const/4 p1, 0x0
的行之后通过 isfrommockprovider()Z
修复 p1 的值,但问题仍然存在。我也试过直接把if-eqz p1
改成goto但是还是没有解决。
在
p1
调用后直接修改invoke-virtual
invoke-virtual {p1}, Landroid/location/Location;->isFromMockProvider()Z
move-result p1
...
不是一个好主意。因为
isFromMockProvider()
的返回值稍后会被move-result p1
写入一条命令到p1
中。因此在此之前更改它不会有任何效果,因为它会被 move-result
覆盖。
由于调用
isFromMockProvider()
除了返回值之外没有其他效果,我将用行 替换上面显示的两个调用(
invoke-virtual
和
move-result
)
const/4 p1, 0x0
如果仍然不起作用,那么这不是唯一的检查。