小编mhe*_*dek的帖子

Android - 我的应用程序可以获取位置信息,直到打开谷歌地图,尽管它有相关权限

我是 Android 开发的新手。所以我的问题可能太基本了。非常遗憾。现在我正在维护以前编写的代码。

此应用程序使用手机的定位服务。在清单文件中它是这样写的:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)

但是虽然用户允许使用位置服务,但在大多数情况下,通过应用程序无法直接获取位置。

例如,虽然我的应用程序无法获取位置信息,但打开 Google 地图应用程序后,我的应用程序始终可以获取位置信息。然后我对位置没有问题。但首先我必须用谷歌地图触发。

什么可能导致这种情况?为什么我的应用打开谷歌地图后可以获取位置?我的清单文件中是否需要其他权限?

我的代码块如下所示,

private static final int LOCATION_SERVICES_RESOLUTION_REQUEST = 9001;

private void initMainActivity() {

        int fineAccessGranted = ContextCompat.checkSelfPermission(this,
                Manifest.permission.ACCESS_FINE_LOCATION);
        int coarseAccessGranted = ContextCompat.checkSelfPermission(this,
                Manifest.permission.ACCESS_COARSE_LOCATION);
        int externalWrite = ContextCompat.checkSelfPermission(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE);
        int externalRead = ContextCompat.checkSelfPermission(this,
                Manifest.permission.READ_EXTERNAL_STORAGE);
        int camera = ContextCompat.checkSelfPermission(this,
                Manifest.permission.CAMERA);

        ArrayList<String> permissionsNeeded = new ArrayList<String>();

        if (fineAccessGranted == PackageManager.PERMISSION_DENIED)
            permissionsNeeded.add(Manifest.permission.ACCESS_FINE_LOCATION);
        if (coarseAccessGranted == PackageManager.PERMISSION_DENIED)
            permissionsNeeded.add(Manifest.permission.ACCESS_COARSE_LOCATION);
        if (externalWrite == PackageManager.PERMISSION_DENIED)
            permissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        if (externalRead == PackageManager.PERMISSION_DENIED)
            permissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);
        if (camera == PackageManager.PERMISSION_DENIED)
            permissionsNeeded.add(Manifest.permission.CAMERA);

        if (permissionsNeeded.size() …
Run Code Online (Sandbox Code Playgroud)

android android-manifest

2
推荐指数
1
解决办法
1026
查看次数

Nginx-如何使用在位置块中有代理的 https 提供我的静态内容?

我的服务器侦听 443 端口并将请求重定向到服务器中的另一个端口。此外,我的服务器侦听 80 端口并在用户浏览http://www.xxxx.com时向用户显示静态内容

但我也想在用户浏览https://www.xxxx.com时显示静态内容

我该如何管理?我的 Nginx 配置文件是 ;

server {

   listen 443 ssl; 
   server_name xxxx.com;
   ssl_certificate /etc/nginx/ssl/nginx.crt;
   ssl_certificate_key /etc/nginx/ssl/nginx.key;

   location / {
expires off;
      proxy_pass http://backend;
   }
}

server {
  listen 80;
  listen [::]:80;

   server_name xxxx.com;
   root /var/www/xxxx.com/html;
   index index.html;

   location / {
try_files $uri $uri/=404;
   }
}
Run Code Online (Sandbox Code Playgroud)

我想在用户使用https://www.xxxx.com浏览我的网站时显示我的 index.html 文件,并且我的代理将继续在后端工作

nginx nginx-location nginx-reverse-proxy

1
推荐指数
1
解决办法
1492
查看次数