如何确保在允许开始记录GPS位置的按钮点击之前找到良好的GPS信号?在启用Android中的按钮之前确保强大的GPS信号
回答
那么,如果您使用LocationManager
-class并根据onLocationChanged()
采取行动,那么在获得某个职位之前它不会实际触发。
编辑:这是你可以尝试的东西。 编辑#2:哦,我其实误解了这个问题。尽管我会留下我的回应。
.xml
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:id="@+id/mybutton1"
android:visibility="INVISIBLE"
android:layout_width="200dp"
android:layout_height="100dp"
android:text="MyButton1"
/>
</LinearLayout>
.java:
//Get the LocationManager & Button
final LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
final Button button = (Button) findViewById(R.id.mybutton1);
//Add the listener
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
//Remove the listener and make the button visible
locManager.removeUpdates(locationListener);
button.setVisibility(1);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
让我知道这是否为你!
是否可以设置服务的按钮可见性? LocationListener是应用程序中服务的一部分。谢谢。 – danny
我对此不太确定,但是您能否通过变量将其传递给您的应用程序,并检查启动活动?这将是一个静态解决方案。 – ninetwozero
你可以使用这个代码在你的按钮点击检查GPS的状态。
LocationListener ll = new MyLocationListener();
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, ll);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, ll);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Log.i("About GPS", "GPS is Enabled in your devide");
AlertDialog.Builder GPSON =new Builder(MyCardio.this);
GPSON.setCancelable(false);
GPSON.setMessage("GPS IS ON");
GPSON.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
GPSON.show();
} else {
AlertDialog.Builder GPSOFF = new Builder(MyCardio.this);
GPSOFF.setCancelable(false);
GPSOFF.setTitle("Connection Error");
GPSOFF.setMessage(" Please Enable Your GPS !");
GPSOFF.setPositiveButton("Ok",new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog,int which)
{
// startActivity(new Intent(LoginActivity.this,MainMenuActivity.class));
}
});
GPSOFF.show();
}
我不认为这会检查以确定是否存在GPS定位 - 只能检查GPS接收器是否启用。 GPS可以在没有适当修复的情况下启用。另外,getLastKnownLocation不能确保“当前gps会话”的位置。如果您的GPS接收器位于地下1000米处,此代码将返回true。 – Ian
要检查GPS定位,你必须注册一个gpsstatus.listener
,并期待在GPS状态和更新之间的时间。
退房此链接如何: How can I check the current status of the GPS receiver?
- 1. 的Android:确定GPS信号强度
- 2. 保存之前按确认按钮
- 3. 寻找GPS信号强度
- 4. android GPS启用按钮点击
- 5. FusedLocationService不支持Android中的GPS信号
- 6. 在函数声明和表达式中大括号之前强制使用大括号之前的空格
- 7. Android中的LTE信号强度与GSM信号强度
- 8. 我如何检查Android的GPS信号强度
- 9. 正确启用/禁用保存按钮
- 10. Android应用程序之间的GPS信号共享
- 11. 如何在Android上测量GPS信号强度?
- 12. Android启用或禁用时在按钮上显示GPS状态
- 13. 如何启用之前禁用的kivy中的按钮?
- 14. 如何评估GPS信号强度? (iPhone)
- 15. 在Android中单击之前放大按钮
- 16. Android的FM信号强度
- 17. 禁用GPS信号
- 18. 如何在Android锁定屏幕时长按键的电源按钮启用GPS?
- 19. Android - 在启动Intent之前确保活动还活着?
- 20. 在Windows Phone 7上是否有获取GPS信号当前强度的方法?
- 21. 确保在接收坐标之前获取GPS锁定
- 22. Android中的蓝牙信号强度
- 23. 按钮信号检测不正确
- 24. 在Android中检索GSM信号强度
- 25. Android日历标准按钮中的加号和减号按钮是否正确?
- 26. 如何启用GPS的Android
- 27. 在android中调用gps按钮切换的功能
- 28. clicked()按钮信号
- 29. 如何确定在AutoHotkey脚本启动之前是否按住按钮?
- 30. 如何确保信号量在我释放随后的信号之前不会释放?
你想知道如果GPS是固定的,对吗?你可以定期收到地点吗? – Ian