嗨:我想启动一个服务,该服务位于连接的图书馆项目中。所有相关的类都在库中。
该服务是从库中的活动调用的:
Intent serviceIntent = new Intent();
serviceIntent.setAction("org.example.library.MY_ACTION");
startService(serviceIntent);
在清单文件(在库和应用程序中)中都指出:
<service android:name="org.example.library.SomeLibraryClass">
<intent-filter>
<action android:name="org.example.library.MY_ACTION" />
</intent-filter>
</service>
无法启动服务Intent {act = org.example.android.SomeLibraryClass(有其他功能)}:找不到
似乎Android在寻找应用程序中的类,而不是在库中。有人曾经有过这种行为吗?
最佳答案
调用库中定义的Intent时,需要指定应用程序的软件包:
Intent serviceIntent = new Intent();
serviceIntent.setAction("org.example.library.MY_ACTION");
serviceIntent.setPackage("org.example.application");
startService(serviceIntent);