我是 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) 我的服务器侦听 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 文件,并且我的代理将继续在后端工作