2012-07-18 74 views
1

我在android中有一個服務類。服務是否可以作爲單獨的進程運行,而不是僅用於接收SMS的應用程序,並在應用程序從此隊列讀取SMS之後將它們排入隊列中。Android服務作爲一個單獨的進程運行

是否可以啓動單獨的服務?

我有標籤SmsService類的下面

公共類SmsService源代碼擴展服務{

private SMSReceiver mSMSreceiver; 
private IntentFilter mIntentFilter; 

@Override 
public IBinder onBind(Intent arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 
public SmsService(){ 
    /*dba = new DataBaseAdapter(this);*/ 
    mSMSreceiver = new SMSReceiver(); 
} 
@Override 
public void onCreate(){ 
    super.onCreate();  

    mIntentFilter = new IntentFilter(); 
    mIntentFilter.addAction(ConstantClass.SMS_RECEIVED); 
    registerReceiver(mSMSreceiver,mIntentFilter); 
} 
@Override 
public int onStartCommand(Intent intent , int flags, int type){ 
    return START_STICKY; 
} 

@Override 
public void onDestroy(){ 
    super.onDestroy(); 
    //unregisterReceiver(mSMSreceiver); 

} 
+0

「服務可以作爲分離過程運行嗎?」 - 這是可能的。這也是一個壞主意。第二個進程消耗更多的RAM和更多的CPU,同時不向用戶添加任何值。 – CommonsWare 2012-07-18 12:24:12

回答

2

要在不同的進程註冊爲您服務,您需要定義android:process屬性定義時您的服務在AndroidManifest.xml

例如:

<service android:process=":kaushik" /> 

這將在稱爲kaushik的新過程中運行您的服務。

+0

先生我已應用進程屬性,但我仍然無法執行它作爲一個seprate process.this是我的Manifest.xml代碼 2012-07-18 11:43:10

+0

它必須在單獨的進程中運行。你怎麼確定它不在一個單獨的過程? – waqaslam 2012-07-18 11:44:50

相關問題