Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Rigellin
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 3
#1

Android permissions - Программирование Android

08.12.2015, 15:41. Просмотров 1028. Ответов 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" />
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2015, 15:41     Android permissions
Посмотрите здесь:

android:theme="@android:style/Theme.Dialog" - Программирование Android
android:theme=&quot;@android:style/Theme.Dialog&quot; как при таком отображение активности можно избежать затемнение( или что там с ней происходит)...

Android - Программирование Android
пишу приложение на андроид (не давно начал изучать) как сделать в андроид приложении 1+2=? при нажатии на imagebutton(1.2.3) чтоб вместо...

Qt 5.1.1 for Android - Программирование Android
Здравствуйте! Пытаюсь, использовать библиотеку Qt для Android, установил всё по инструкции на сайте: Android SDK, NDK, JM, Ant, ну, и сам...

Android - Программирование Android
Пишу программу первый раз(HelloWorld). Программа написана без ошибок, но Android SDK не отображает ее. Сам SDK включается но написанная...

Android.mk - Программирование Android
Здравствуйте.Как скомпилировать стандартное приложение Android из исходников имея на руках только: Android.mk проекта, NDK, SDK(с...

Android с 0 - Программирование Android
Всем привет. Когда-то давно начинал изучать Андроид не зная Java(за что, конечно, поплатился), и сейчас решил вновь заняться разработкой...

Android - Программирование Android
Всем доброго времени суток! Есть вопрос! Код приложения который написан на эклипсе например игра! Если этот код использовать в Андроид...

Android L - Программирование Android
Привет всем дорогие друзья. Меня вот что интересует. Знаю что достаточно времени назад вышел L для разработчиков. Гайды по оформлению и...

С++ и android - Программирование Android
Привет форумчане, такая ситуация. Мой друг изучил доволи неплохо с++ , и вот натрапил на разработку под андроид и стоит перед вопросом,...

Hello android - Программирование Android
Пишу, значит, вот это: package lucky.myfirstandroidapplication; import android.os.Bundle; import android.app.Activity; ...

C# and Android - Программирование Android
Здравствуйте. Появилась задача - разработать приложение на шарпе под андроид. Хотелось бы узнать опыт коллег, которые делали подобное. ...

Android и С++ - Программирование Android
Всем привет! Понимаю, что подобная тема скорее всего поднималась, но шерстить 43 страницы данного раздела меня не радует, да и в поиск не...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
08.12.2015, 17:17     Android permissions #2
с ходу не вспомню, но вроде там еще пара разрешений нужна.
что-то типа... ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION, ACCESS_NETWORK_STATE, INTERNET.
не уверен.
lostandleft
2 / 2 / 1
Регистрация: 04.12.2015
Сообщений: 96
08.12.2015, 20:45     Android permissions #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" />
Зы тут есть все пермишены
Rigellin
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 3
08.12.2015, 22:52  [ТС]     Android permissions #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;
}
}
}
lostandleft
2 / 2 / 1
Регистрация: 04.12.2015
Сообщений: 96
09.12.2015, 03:39     Android permissions #5
А если упростить немного для начала все это?
Не пробовали приложение запустить на чистую и на своем телефоне а не в эмуляторе?
Т.е. указать в манифесте стандарт как я указал, и закодить Java уже не упоминая разрешения?
Посмотреть на что ругается?
Дальше уже ошибки гуглить.

Зы код под сполер цепляйте, не читается же ничего.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
09.12.2015, 09:45     Android permissions #6
Rigellin, какая версия андроида? Такие проверки работают только с 6, до него все разрешения из манифеста всегда есть и проверять ничего не нужно.
Yandex
Объявления
09.12.2015, 09:45     Android permissions
Ответ Создать тему
Опции темы

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