根据清单元素中的documentation
<service android:name=".PrinterService"
应该是Service子类的指定名称。我的子类名为PrinterService,定义如下
package arrowsys.vrp.print;
#import
public class PrinterService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
public class PrinterSession extends PrinterDiscoverySession {
}
}
当我输入属性名称.PrinterService
时,我得到了
无法解析符号
值.service.PrinterService
我得
预期AidleType包,得到'。'
编辑以使其更简单,我删除了文件夹arrowsys.vrp.printer / service,因此我的PrinterService.java直接在arrowsys.vrp.printer中。
现在包定义为package arrowsys.vrp.print
;
完成AndroidManifest.xaml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="arrowsys.vrp.print">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name="arrowsys.vrp.print.PrinterService"
android:description="@string/app_name"
android:permission="android.permission.BIND_PRINT_SERVICE" >
<intent-filter>
<action android:name="android.vrp.print.PrinterService" />
</intent-filter>
</service>
</application>
</manifest>
答案 0 :(得分:0)
根据App Manifest Documentation,您必须包含完整的程序包路径,否则您的服务应该是应用程序包的子项
如果定义子类,就像组件类(Activity,Service,BroadcastReceiver和ContentProvider)几乎总是那样,子类是通过name属性声明的。名称必须包括完整的包装名称。例如,Service子类可能声明如下:
<manifest . . . >
<application . . . >
<service android:name="com.example.project.SecretService" . . . >
. . .
</service>
. . .
</application>
但是,如果字符串的第一个字符是句点,则应用程序的包名称(由元素的包属性指定)将附加到字符串中。
<manifest package="com.example.project" . . . >
<application . . . >
<service android:name=".SecretService" . . . >
. . .
</service>
. . .
</application>
我的猜测是你的Manifest包不是arrowsys.vrp.print
,所以你必须使用<service android:name="arrowsys.vrp.print.service.PrinterService">
答案 1 :(得分:0)
试
<service android:name="arrowsys.vrp.print.service.PrinterService">