0

私のアプリだけが私のIntentServiceにインテントをブロードキャストできることを確信する必要があります。Androidの権限を使用して作成するにはどうすればよいですか?

gcm androidライブラリでも同様の権限の使用法が見られますが、どのように機能するのかわかりません。

4

2 に答える 2

3

独自のアプリのいずれかがこのサービス(複数のアプリ)を使用できるが、他のアプリは使用できないようにする場合は、署名ベースのアクセス許可を実装する必要があります。

独自のカスタム署名許可を宣言する

<permission android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permissionGroup="string"
android:protectionLevel="signature" />

次に、を使用してBroadcaseReceiverでこの権限を適用します

android:permission="string"  

レシーバーにタグを付けるか、アクティビティなどの他のコンポーネントでタグを付けることもできます。

次に、上記の機能にアクセスしたい他のアプリで、マニフェストでusing-permissionを宣言できます。注意:カスタム署名ベースの権限を使用するには、2番目のアプリが同じ証明書で署名されている必要があります。権限の詳細については、こちらをご覧ください:http: //developer.android.com/guide/topics/security/permissions.html

于 2012-08-06T17:31:55.623 に答える
0

参照してください:

http://developer.android.com/guide/components/services.html

サービスをローカルでのみ使用することを計画している場合(他のアプリケーションはそれを使用しません)、インテントフィルターを提供する必要はありません(また、提供すべきではありません)。インテントフィルターを使用しない場合は、サービスクラスに明示的に名前を付けるインテントを使用してサービスを開始する必要があります。

マニフェストにインテントフィルターを入れないでください...

于 2012-08-06T17:23:32.657 に答える