0

これが私のバックグラウンドサービス宣言を含むマニフェストファイルです

......
    <service android:name="com.example.MyService" 
               android:process=":service" 
               android:permission="android.permission.BIND_VPN_SERVICE">

         <intent-filter>
            <action android:name="com.example.START_MY_SERVICE" />
         </intent-filter>
......
  1. 私のサービスとの拘束に関心のあるサードパーティアプリは、マニフェストで何を宣言する必要がありますか?
  2. また、サードパーティのアプリがサービスにバインドしようとすると、アプリでパーミッション(またはカスタム定義のパーミッション)の検証はどのように行われますか?
4

1 に答える 1

2

これが私のバックグラウンドサービス宣言を含むマニフェストファイルです

まず、非常に正当な理由がない限り、個別のプロセスを使用しないでください。

次に、Androidの標準権限を自分の目的で再利用しないでください。ただし、それらの目的が、Androidがその権限で保護するものと本当に密接に関連している場合を除きます。BIND_VPN_SERVICE発信者に代わってVPNをバインドするなど、アプリがVPN関連の処理を実行する場合にのみ要求する必要があります。

私のサービスとのバインドに関心のあるサードパーティアプリは、マニフェストで何を宣言する必要がありますか?

<uses-permission android:name="android.permission.BIND_VPN_SERVICE" />

また、サードパーティのアプリが私のサービスにバインドしようとすると、アプリで許可の検証はどのように行われますか?

startService()これは、誰かが電話をかけたとき、またはサービスを識別するを使用bindService()して、Androidによって自動的に処理されます。Intent発信者がにリストされている権限を持っていない場合、発信者はandroid:permissionを取得しSecurityExceptionます。

于 2012-12-27T22:32:22.083 に答える