мое приложение не запрашивает разрешения во время загрузки из магазина Google Play. Я указал разрешение на местоположение в файле манифеста - PullRequest
0 голосов
/ 08 июня 2018

Файл Mainifest

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true" />

<application
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@mipmap/hero3"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name="info.food360.nikhil.splash"
        android:configChanges="orientation|screenSize"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="info.food360.nikhil.MainActivity"
        android:windowSoftInputMode="adjustPan|adjustResize"
        android:theme="@style/AppTheme.NoActionBar"/>
    <activity
        android:name="info.food360.nikhil.DesActivity"
        android:configChanges="orientation|screenSize"
        android:label="DestinationActivity" />
    <activity android:name="info.food360.nikhil.Suggestion" />
    <activity android:name="info.food360.nikhil.LocationWork" />
    <activity android:name="info.food360.nikhil.logicBehind"></activity>
</application>

моему приложению требуется разрешение на местоположение. Я думал, что Google Play Store спросит во время загрузки, но пользователь долженустановить местоположение вручную. Каким образом Google Play Store должен спросить, что мне добавить в мой код?

1 Ответ

0 голосов
/ 08 июня 2018

Если вы работаете в Android API версии 23 или выше, вам потребуется разрешение на время выполнения .Чтобы запросить разрешения, вы должны сделать это прямо перед использованием функции, которая использует разрешение:

int MY_PERMISSIONS_REQUEST_LOCATION = 123;
if (ContextCompat.checkSelfPermission(thisActivity,
        Manifest.permission.ACCESS_FINE_LOCATION)
        != PackageManager.PERMISSION_GRANTED) {
    //app doesn't have permission yet

     ActivityCompat.requestPermissions(thisActivity,
                new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                MY_PERMISSIONS_REQUEST_LOCATION);
} else {
    // Permission has already been granted
}

Затем переопределите onRequestPermissionsResult, чтобы увидеть, дал ли пользователь разрешение:

public void onRequestPermissionsResult(int requestCode,
        String permissions[], int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSIONS_REQUEST_LOCATION: {

            if (grantResults.length > 0
                && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // permission was granted
            } else {
                // permission denied
            }
            return;
        }

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...