Разрешения виджета приложения Android

Мое очень простое приложение в настоящее время вообще не запрашивает у пользователя никаких разрешений при его установке. Я хочу оставить это так, но мне действительно нужно добавить виджет.

Я просматривал пример StackWidget (http://docs.huihoo.com/android/3.0/resources/samples/StackWidget/) и заметил, что в манифесте у них есть:

<service android:name="StackWidgetService"
        android:permission="android.permission.BIND_REMOTEVIEWS"
        android:exported="false" />

Это разрешение там "BIND_REMOVEVIEWS", я раньше не видел. Если бы я построил этот пример и включил эту службу с этим разрешением, будет ли пользователь теперь уведомлен о том, что моему приложению требуется разрешение, прежде чем его можно будет установить/обновить?


person James Cross    schedule 15.12.2014    source источник


Ответы (1)


No.

Элементы <uses-permission> — это то, что заставляет пользователя получать уведомления о разрешениях, которые ваше приложение запрашивает.

android:permission указывает, что вы защищаете компонент с разрешением, которое должно иметь какое-то другое приложение (или, в данном случае, прошивка). Поскольку вы не запрашиваете у пользователя разрешение, пользователь не беспокоится об атрибуте android:permission.

So:

  • <uses-permission android:name="com.commonsware.permission.SHAVE_YAK" /> спрашивает пользователя: "Можно я побрею твоего яка?"

  • android:permission="com.commonsware.permission.SHAVE_YAK" сообщает стороннему приложению, что "пользователь, должно быть, дал свое согласие на то, чтобы вы могли побрить его яка"

примечание: при создании этого ответа ни один як не пострадал

person CommonsWare    schedule 15.12.2014
comment
android:permission="android.permission.ACCESS_FINE_LOCATION" должен быть помещен в receiver или service ? - person natsumiyu; 22.09.2016
comment
@mori: Ни то, ни другое. - person CommonsWare; 22.09.2016