在清单中的另一个包中调用一个类?

时间:2013-03-04 00:42:00

标签: android

我的预设设置如下:

com.myApp.app 

-----包含主要活动文件

com.myApp.background

-----包含一个带有服务的类

我的清单设置如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myApp.app"
    android:versionCode="1"
    android:versionName="1.0" >

<service android:enabled="true" android:name=".background.SendLocationtoServer" >
        </service>

我一直遇到问题,但无法找到服务。这显然是因为它当前正在调用com.myApp.app.background这是不正确的。我希望它拨打com.myApp.background。我已经尝试在服务标签中明确设置它,并且还将整个包更改为com.myApp,这会导致错误加载和强制关闭。我如何告诉它查看上面的包?

2 个答案:

答案 0 :(得分:1)

您可以在创建Intent时使用完全限定的包名称来启动Service,但我认为更简单的方法是为{{设置Intent过滤器1}}(在Manifest中),然后在您的Service中指定您从外部包创建的操作。

答案 1 :(得分:0)

在清单中定义的<service>中使用完全限定的包名称。现在,您正在注册一个名称可解析为com.myApp.app.background.SendLocationtoServer的服务器。将名称更改为com.myApp.background.SendLocationtoServer,或任何完全限定名称。