Я хочу начать свою деятельность ON_BOOT_COMPLETED. Теперь я столкнулся с одной странной проблемой.Каков лучший способ определить разрешение в android?
Если я указываю разрешение на загрузку вне тега Receiver, за пределами тега приложения. Начало работы. Следующий
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.broadcaststaticdemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.example.broadcaststaticdemo.StartAppOnBoot" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
Если я указать разрешение внутри приемника тегов моей деятельности не запускался. следующие
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.broadcaststaticdemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.broadcaststaticdemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.example.broadcaststaticdemo.StartAppOnBoot"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
В то время как я использовал второй подход (разрешение внутри приемника тега) в моем другом приложении он работает совершенно нормально. Поэтому я смущен, что разница между указанием разрешения на уровне приложения и уровня приемника. Я видел документацию по андроиду, где они упоминали
Имя разрешения, которое должно передавать вещатели для отправки сообщения в широковещательный приемник. Если этот атрибут не установлен, разрешение, установленное атрибутом разрешения элемента, применяется к широковещательному приемнику. Если ни один атрибут не установлен, приемник не защищен разрешением. что означает, что мы можем указать где угодно. Любая помощь будет указана
Я думаю, что вы сбиваете с толку разрешение на получение загруженной завершенной трансляции и разрешение, которое вам требуются другим, чтобы разрешить им отправлять вам трансляции. Это два разных, довольно несвязанных варианта использования разрешений. –
@ Даниэль может объяснить немного больше, что вы подразумеваете под разрешением на получение загруженной завершенной трансляции и разрешения, которое вы выполняете на других, чтобы разрешить им отправлять вам трансляции. – CodingRat