2011-08-24 38 views
0

這可能是一個非常簡單的問題,但由於我是新的android開發...如何從android中不在同一項目中的活動啓動服務?

我試圖從活動,是不是在同一個包(遠程服務)啓動服務具有以下代碼:

Intent i = new Intent("com.vasilis.service.GPSService"); 
i.putExtra("com.vasilis.service.GPSEnable", true); 
this.startService(i); 

但是這段代碼沒有任何反應!

服務項目/包的清單...

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.vasilis.service" android:versionCode="1" android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".serv_activity" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <service android:name=".GPSService" android:exported="true" android:enabled="true"></service> 

     <activity android:name=".incomingCallActivity" android:label="@string/app_name" 
      android:theme="@android:style/Theme.Dialog"></activity> 

     <receiver android:name="OnBootCompleteReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED"></action> 
      </intent-filter> 
     </receiver> 

    </application> 
    <uses-sdk android:minSdkVersion="7" /> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 
</manifest> 

我失去了一些東西!任何幫助?

回答

1

類似的問題在這裏問:How do I start a service which is defined in a different package?

差不多,你只需要它添加到manifest.xml中

<service android:name=".GPSService" android:exported="true" android:enabled="true"> 
    <intent-filter> 
     <action android:name="com.vasilis.service.GPSEnable" /> 
    </intent-filter> 
</service> 

或任何類別的名稱;)如果這並未」噸似乎工作,位於Service文件有很多很好的建議。

相關問題