С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Rigellin
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 3
1

Android permissions

08.12.2015, 15:41. Просмотров 2023. Ответов 5
Метки нет (Все метки)

Доброго времени суток! Пишу небольшое приложение, которое определяет местоположение пользователя с помощью Google Maps. Не получается настроить разрешение для location. Причина - не проходит проверку условие:

MainMapActivity.java:
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {...}
else googleMap.setMyLocationEnabled(true);

AndroidMainfest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="..." >
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2015, 15:41
Ответы с готовыми решениями:

RecyclerViewAdapter и permissions
Добрый день. В адаптере для RecyclerView необходимо вставить картинку из...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout?
Недавно начал изучать Android API, а сегодня более менее разобрал основы...

Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/... скачал exeшник для...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка:...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне...

5
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
08.12.2015, 17:17 2
с ходу не вспомню, но вроде там еще пара разрешений нужна.
что-то типа... ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_NETWORK_STATE, INTERNET.
не уверен.
0
lostandleft
2 / 2 / 3
Регистрация: 04.12.2015
Сообщений: 98
08.12.2015, 20:45 3
Rigellin,
Там не все так просто как хотелось бы :-)
Что меня умиляет почти ни в одном куске кода, которые в тырнете встречаются нет безошибочных вариантов.
Специально чтоли так сделано, чтобы люди бабосы платили за курсы повышения квалификации...хз.
В общем держи часть манифеста, похожее приложение пишу с геосервисом.

Все заработало с костылями.
Почему, зачем, как, откуда выдрал...уже не помню, мое приложение запустилось с этим.
Костылей много.
1 Нужно сервисы гугл плей запустить, дальше по обстоятельствам:

XML
1
2
3
4
5
6
7
8
9
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.helloworld" > <!-- следующее нужно обязательно добавлять в манифест, чтобы работали плей сервисы гугл -->
    <uses-sdk tools:overrideLibrary="com.google.android.gms.all,com.google.android.gms.ads,com.google.android.gms,         com.google.android.gms.analytics,com.google.android.gms.appindexing,com.google.android.gms.base,com.google.android.gms.measurement,com.google.android.gms.vision,         com.google.android.gms.appinvite,com.google.android.gms.appstate,com.google.android.gms.cast,com.google.android.gms.drive,         com.google.android.gms.fitness,com.google.android.gms.location,com.google.android.gms.maps,com.google.android.gms.games,         com.google.android.gms.gcm,com.google.android.gms.identity,com.google.android.gms.nearby,com.google.android.gms.panorama,         com.google.android.gms.plus,com.google.android.gms.safetynet,com.google.android.gms.wallet,com.google.android.gms.wearable" />
 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Зы тут есть все пермишены
0
Rigellin
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 3
08.12.2015, 22:52  [ТС] 4
Спасибо, но приложение всё равно вылетает
Скорее всего, я неправильно понимаю структуру работы с permissions. Помимо расширений в AndroidManifest я в активности добавляю следующий код (собранный из документации и различных примеров в нете):

if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {

if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.ACCESS_FINE_LOCATION)) {

} else {
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSIONS_REQUEST_LOCATION);
}
}
else {
googleMap.setMyLocationEnabled(true);
}

@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_LOCATION: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {

googleMap.setMyLocationEnabled(true);

} else {

// permission denied, boo! Disable the
// functionality that depends on this permission.
}
return;
}
}
}
0
lostandleft
2 / 2 / 3
Регистрация: 04.12.2015
Сообщений: 98
09.12.2015, 03:39 5
А если упростить немного для начала все это?
Не пробовали приложение запустить на чистую и на своем телефоне а не в эмуляторе?
Т.е. указать в манифесте стандарт как я указал, и закодить Java уже не упоминая разрешения?
Посмотреть на что ругается?
Дальше уже ошибки гуглить.

Зы код под сполер цепляйте, не читается же ничего.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
09.12.2015, 09:45 6
Rigellin, какая версия андроида? Такие проверки работают только с 6, до него все разрешения из манифеста всегда есть и проверять ничего не нужно.
0
09.12.2015, 09:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2015, 09:45

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK?
Можно ли писать в нем готовые приложения Android?

Ошибка в Android Studio Error:No resource identifier found for attribute 'appComponentFactory' in package 'android'
Доброго времени суток! При компиляции андроид приложении выходит данная...

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - &quot;RTFM&quot; и точка....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru