2

我创建了一项远程服务,如下所示:-

<service android:name=".XYZService"
            android:permission="com.xyz.service"
            android:exported="true">
            <intent-filter>
                <action android:name="com.abc.def.XYZService"/>
            </intent-filter>
        </service>

我正在尝试通过使用客户端应用程序服务来绑定此服务,如下所示:-//客户端服务 onStartCommand 代码:

 @Override
            public int onStartCommand(Intent intent, int flags, int startId) {

                boolean ret;
                try {
                          Intent i = new Intent("com.abc.def.XYZService");
                    ret = getApplicationContext().bindService(i, serviceConnection,
                            Context.BIND_AUTO_CREATE);
                    if (ret == false) {
                        //log error
                    }

                } catch (SecurityException e) {
                                  e.printStackTrace();
                }
        return super.onStartCommand(intent, flags, startId);
            }

客户端应用程序清单具有以下权限:-

 <uses-permission android:name="com.xyz.service" />

不过,我收到以下异常:- 安全异常:客户端服务无权绑定到 xyz 服务。

我的目的是通过一些权限来保护我导出的服务,并在客户端应用程序中使用该权限来访问导出的服务。任何帮助将不胜感激。

4

1 回答 1

0

用这个。

<permission
        android:name="myPermission"
        android:description="@string/myPermissionDescription"
        android:label="@string/myPermissionLabel">
    </permission>

更多信息: 第 1页- 第 2 页

于 2017-03-30T11:51:32.993 回答