相关疑难解决方法(0)

Android marshmallow请求权限?

我目前正在开发一个需要几个"危险"权限的应用程序.因此,我尝试在Android Marshmallow(API级别23)中添加"请求许可",但无法找到如何执行此操作.

如何在我的应用中使用新的权限模型请求权限?

android android-permissions android-6.0-marshmallow

151
推荐指数
8
解决办法
24万
查看次数

LocationManager的Android检查权限

当我点击活动布局中的按钮时,我正在尝试显示GPS坐标.以下是单击按钮时调用的方法:

public void getLocation(View view) {
    TextView tv = (TextView) findViewById(R.id.gps_coord_view);
    LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
    Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    tv.setText("Latitude: " + loc.getLatitude() + "\nLongitude: " + loc.getLongitude());
}
Run Code Online (Sandbox Code Playgroud)

我收到的错误是

呼叫需要用户可能拒绝的许可.代码应明确检查是否有权限.

我已经在我的授权中授予了这些权限AndroidManifest.当我在调用之前添加以下内容时,错误被处理并且应用程序编译lm.getLastKnownLocation:

if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
        && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    return;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我按下点击时调用getLocation的按钮时,应用程序崩溃了.到底是怎么回事?是否有更好/更简单的方法来获取设备的GPS坐标?

android locationmanager

90
推荐指数
4
解决办法
23万
查看次数