如何制作一个为其他APP提供服务的图书馆项目?

时间:2014-04-23 12:40:29

标签: java android service permissions library-project

有没有办法在库项目中创建一个服务供其他APP通过.jar文件使用?

目前我这样做:

  1. 创建一个包名为" com.m2x.myservice"的Android库项目,编写服务类" MyService"。当它被编译时,我得到了一个" myservice.jar"文件在" bin /" 。目录

  2. 创建一个Android应用程序项目,例如" DemoApp"

  3. 移动" myservice.jar"将文件发送到DemoApp的libs目录。

  4. 将其添加到DemoApp的AndroidManifest.xml:

    <service android:enabled="true"
        android:name="com.m2x.myservice.MyService">
        <intent-filter>
            <action android:name="com.m2x.myservice.MyService" />
        </intent-filter>
    </service>
    
  5. 调用startService(new Intent(&#34; com.m2x.myservice.MyService&#34;));在DemoApp中启动服务。

  6. 但是当我运行DemoApp时,我遇到了运行时错误:

    java.lang.RuntimeException: Unable to start activity     ComponentInfo{com.example.demoapp/com.example.demoapp.MainActivity}:     java.lang.SecurityException: Not allowed to start service Intent{   act=com.m2x.myservice.MyService (has extras) } without permission private to package  
    

    谁能告诉我我做错了什么?什么是正确的方法呢?

    谢谢!

1 个答案:

答案 0 :(得分:0)

事实证明没有任何问题,工作流程很好。修复AndroidManifest.xml将解决问题