활동을 시작하고 싶습니다 (ON_BOOT_COMPLETED). 이제 나는 하나의 이상한 문제에 직면 해있다.안드로이드에서 권한을 정의하는 더 좋은 방법은 무엇입니까?
내가 응용 프로그램 태그 외부의 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>
다음과 같습니다. 그래서 난 응용 프로그램 수준 및 수신기 수준에서 권한을 지정하는 차이점은 혼란 스러워요. 나는 그들이 언급 한 안드로이드 문서를 보았다.
브로드 캐스터가 브로드 캐스트 리시버에 메시지를 보내기 위해 필요로하는 허가의 이름. 이 속성이 설정되지 않은 경우 요소의 권한 속성으로 설정된 권한이 브로드 캐스트 리시버에 적용됩니다. 어느 속성도 설정되어 있지 않은 경우, 수신자는 허가에 의해 보호되지 않습니다. 우리는 어디에서든지 지정할 수 있습니다. 도움이 될 것입니다
브로드 캐스트를 전송할 수 있도록하기 위해 완료된 브로드 캐스트 및 다른 사람이 필요로하는 권한을받는 데 대한 혼란이 있다고 생각합니다. 이것은 사용 권한과 관련이없는 서로 다른 두 가지 사용 사례입니다. –
@Daniel은 부팅 완료 브로드 캐스트를 수신 할 수있는 권한과 브로드 캐스트를 보낼 수 있도록 다른 사람에게 부여한 사용 권한을 통해 무엇을 의미하는지 더 자세히 설명 할 수 있습니다. – CodingRat