Android 警报以启用gps和网络、位置
我想测试gps是否启用,如果启用,则显示警报Android 警报以启用gps和网络、位置,android,Android,我想测试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("Enabl
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);
}
我做了调试,看起来一切正常,我没有错误,但警报不会出现,即使它在方法中出现
提前感谢检查此代码我添加GPS在Toast中启用或禁用
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
}
}
}
检查此代码我添加GPS在Toast中启用或禁用
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
}
}
}
我创造了一种非常有益的方法! 只需根据每个活动所需的资源配置onResume即可。此方法将提醒用户启用资源,并提供资源设置的快捷方式。用户什么也不能做,但一切都已启用
更新:我创造了一个非常令人满意的方法! 只需根据每个活动所需的资源配置onResume即可。此方法将提醒用户启用资源,并提供资源设置的快捷方式。用户什么也不能做,但一切都已启用 更新: