我想测试gps是否已启用,如果是,则显示警告
protected void createGpsDisabledAlert() {
AlertDialog builder = new AlertDialog.Builder(this).create();
builder.setMessage("Your GPS is disabled! Would you like to enable it?");
builder.setButton("Enable GPS", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
showGpsOptions();
}
});
builder.setButton2("Do nothing", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
return;
}
});
builder.show();
}
private void showGpsOptions() {
Intent gpsOptionsIntent = new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(gpsOptionsIntent);
}
我做了调试,似乎一切正常,我没有错误,但警报没有出现,即使它在方法中消失
提前谢谢
答案 0 :(得分:2)
我创建了一种非常好用的方法! 只需根据所需资源为每个活动配置onResume。此方法将提醒用户启用资源并提供资源设置的快捷方式。用户无法执行任何操作。
答案 1 :(得分:1)
检查此代码我添加了在Toast中启用或禁用GPS .......
import android.app.Activity;
import android.content.*;
import android.location.*;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.widget.*;
public class DirectionsWhereisparty extends Activity {
double destin_lat = 0, destin_lng = 0;
double current_lat = 0, current_lng = 0;
boolean flag = true;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
mlocListener);
}
public void go(double c_lat, double c_lng, double d_lat, double d_lng) {
Bundle b = getIntent().getExtras();
if (b != null) {
String lat = b.getString("lat");
String lng = b.getString("lng");
d_lat = Double.parseDouble(lat);
d_lng = Double.parseDouble(lng);
// System.out.println("d_lat " + d_lat);
// System.out.println("d_lng " + d_lng);
String Text = "My current location is: " + "Latitude = " + c_lat
+ "Longitude = " + c_lng;
Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT)
.show();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri
.parse("http://maps.google.com/maps?saddr=" + c_lat
+ " , " + c_lng + "&daddr=" + d_lat + " , "
+ d_lng));
startActivity(intent);
}
}
public class MyLocationListener implements LocationListener
{
public void onLocationChanged(Location loc) {
current_lat = loc.getLatitude();
current_lng = loc.getLongitude();
if (flag == true) {
flag = false;
go(current_lat, current_lng, destin_lat, destin_lng);
}
}
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Disabled",
Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "Gps Enabled",
Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}