2012-07-18 79 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

相关问题