我将为ios之类的android系统提供辅助功能,因此我想为此添加gps功能。 我想在单击图像时单击图像视图来打开和关闭gps。它转到设置,从那里可以打开和关闭手机的位置,但是我希望在我打开时不进行设置单击该位置,然后单击其他以关闭该位置。
final ImageView locationOn = view.findViewById(R.id.location);
final ImageView locationOff = view.findViewById(R.id.locationOff);
locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
GpsStatus = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if(GpsStatus) {
locationOn.setVisibility(View.INVISIBLE);
locationOff.setVisibility(View.VISIBLE);
}
else{
locationOn.setVisibility(View.VISIBLE);
locationOff.setVisibility(View.INVISIBLE);
}
locationOn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
locationOn.setVisibility(View.INVISIBLE);
locationOff.setVisibility(View.VISIBLE);
}
});
locationOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
locationOn.setVisibility(View.VISIBLE);
locationOff.setVisibility(View.INVISIBLE);
}
});
当我单击它时。它转到设置,从那里可以打开和关闭手机的位置,但是当我单击打开位置并单击其他以关闭位置时,我希望不进行设置。< / p>
答案 0 :(得分:0)
不,这不是不可能的,也是不合适的。您不能只在没有用户权限的情况下管理用户电话。
从Play商店:
“当您尝试对设备进行本地化时(仅在Android <2.3.3上),Cerberus会自动启用GPS,并且可以保护其免受未经授权的卸载-应用程序配置中的更多信息。”
您可以执行以下操作:
startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
如果API版本不是最新版本,请使用Intents
启用GPS
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
禁用GPS
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);