我目前正在尝试获取用户当前位置的经纬度。我已在清单中启用以下权限。TargetSDK和min sdk是23
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.name.app">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="false" />
<activity
android:name=".SplashScreen"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainMenu" />
<activity
android:name=".NeedToKnow" />
<activity
android:name=".SelectTopic" />
<activity
android:name=".DisplayTopicInformation"/>
<activity
android:name=".SelectCheckList" />
<activity
android:name=".ViewCheckList"/>
<activity
android:name=".FindLocation"></activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
为了做到这一点,我知道我需要对权限执行运行时检查。然而,当我执行以下操作时,我总是得到-1作为回报。(权限被拒绝)
int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(),
Manifest.permission.ACCESS_FINE_LOCATION);
尝试访问当前位置时是否缺少步骤?
完整代码如下:
private String getZipcodeFromCurrentLocation() {
int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(),
Manifest.permission.ACCESS_FINE_LOCATION);
String zip = null;
Location location = null;
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
latitude = location.getLatitude();
longitude = location.getLongitude();
Log.i("updated lat", String.valueOf(latitude));
Log.i("updated lng", String.valueOf(longitude));
}
};
try {
if (PackageManager.PERMISSION_GRANTED == permissionCheck) {
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
}
} catch (SecurityException e){
e.printStackTrace();
}
return zip;
}
如果用户在手机设置中禁用了应用程序的位置权限,则您必须请求该权限。在下面,您将找到一段关于如何做到这一点的代码示例。
import android.Manifest;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
public class MyActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean permissionGranted = ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED;
if(permissionGranted) {
// {Some Code}
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 200);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case 200: {
if(grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// {Some Code}
}
}
}
}
}
此外,我还构建了一个类来处理上述所有内容并返回用户的位置。这是链接:https://www.dropbox.com/s/2mkyjok6mpna2yw/GPS.java?dl=0.
这是我的舱单:
我在清单中添加了对外部存储设备的写访问权限,并在我的Android手机中授予了这些权限。如果他们不存在,我甚至会在执行时要求他们。 然而,我总是得到这个例外: Java语言io。FileNotFoundException:/storage/simulated/03b3d97bd-5186-4506-97dc-9994b7ce0761(权限被拒绝) 你知道为什么吗? 在清单文件中:
SDK path c:\sdk\flutter\bin 项目路径C:\work\AutoDatas3\UI\auto_datas 我用admin打开cmd,一张CD C:\ work \ autodatas 3 \ UI \ auto _ datas 颤振运行有: 颤振酒吧得到: 拒绝访问:权限拒绝 颤振医生 医生总结(要查看所有细节,运行flutter doctor -v): [√]颤动(通道稳
我分配一个角色权限来创建数据库。相同的角色被分配给登录用户,但是当我试图使用分配角色的登录用户创建新数据库时,我得到权限拒绝错误。 无法执行语句。权限拒绝,数据库主,所有者dbo。运行此命令需要以下权限:CREATE DATABASE。赛贝斯错误代码=10331严重级别=14,状态=3,事务状态=0第1行 我用15.5分和16分试了一下。我做错什么了吗?我们需要考虑其他参数吗?我经历了这次讨论 h
问题内容: 我在注册后使用以下方法进行程序化登录 用户已通过身份验证,但始终具有ROLE_ANONYMOUS我不知道为什么?有任何想法吗 ? 问题答案: 这种现象看起来很奇怪。Javi建议手动将安全性上下文持久化到会话中,但是应该由Spring Security的自动完成。 一个可能的原因,我可以想像是在你的登记处理的页面。 禁用指定URL的所有安全过滤器。如你所见,它可能会干扰Spring Se
配置: 我正在使用JWT,所以我有一个过滤器来创建基于它的用户: 我的userDetailsService填充GrantedAuthorities: