【发布时间】:2016-11-07 06:33:35
【问题描述】:
我已经创建了这个类,我需要将我的最后一个位置放在哪里?
public class DescriptionActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks {
TextView t;
Button up;
GoogleApiClient mGoogleApiClient;
LocationManager locationManager;
LocationListener locationListener;
LocationServices mLastLocation;
private static final int PERMS_REQUEST_CODE=123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hr__description);
Toolbar toolbar = (Toolbar) findViewById(R.id.hr_toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_clear_white_24dp);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
t = (TextView) findViewById(R.id.test_boaz);
up=(Button)findViewById(R.id.upload);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener((GoogleApiClient.OnConnectionFailedListener) this)
.build();
if(hasPermission())
{
getGPS();
}
else {
requestPerms();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case PERMS_REQUEST_CODE:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// All good!
} else {
Log.d("bobbbbbbbbbbbbbbbbbb","boazboabzobaob");
}
break;
}
}
private void getGPS() {
up.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
private boolean hasPermission(){
int res=0;
String[] permissions=new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};
for(String params:permissions)
{
res=checkCallingOrSelfPermission(params);
if(!(res==PackageManager.PERMISSION_GRANTED)) {
return false;
}
}
return true;
}
private void requestPerms(){
String[] permissions=new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
requestPermissions(permissions,PERMS_REQUEST_CODE);
ActivityCompat.requestPermissions(this, permissions, PERMS_REQUEST_CODE);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onConnected(@Nullable Bundle bundle) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
if (mLastLocation != null) {
}
}
@Override
public void onConnectionSuspended(int i) {
}
}
我尝试激活 GPS,但它总是要我检查权限 如何解决? 在互联网上查看了许多示例,我已成功获取对话框以激活 GPS 设备,但是当我尝试获取位置时出现问题
【问题讨论】:
-
你能发布错误对话框吗?
-
我没有任何错误,只是他要求我添加权限
-
哪个权限?
-
他是谁?
-
您是否也在清单文件中添加了 ACCESS_COARSE_LOCATION 权限?
标签: android android-gps