在androidmanifest中声明serviceintent

时间:2011-12-01 04:13:46

标签: java android

我有一个扩展serviceintent的类,名为bluepostservice。在同一个包中的另一个类中,它扩展了我调用的活动

Intent selectIntent = new Intent(this, bluepostservice.class);
this.startService(selectIntent);

我在manifestxml中有这个

<service android:name="BluePostService" />  

但是我得到了

无法启动服务Intent {cmp = org.anddev.android.parsingxml / .BluePostService}:未找到

显然我已经在清单中声明了错误或者不正确地启动了服务。

如何在androidmanifest中正确声明服务意图?

4 个答案:

答案 0 :(得分:0)

缺少点?

<service android:name=".BluePostService" />

答案 1 :(得分:0)

检查是否在应用程序标记内声明了服务。

 <application> 
.................
..............
<service android:name="BluePostService" />  
................
..................
</application>

编辑: serviceintent是什么意思?你应该像那样声明

 public class BluePostService extends Service {

        @Override
        public IBinder onBind(Intent arg0) {
            // TODO Auto-generated method stub
            return null;
        }
        @Override
        public void onCreate() {
            // TODO Auto-generated method stub
            super.onCreate();
            Toast.makeText(getApplicationContext(), "Service Started", Toast.LENGTH_LONG).show();
        }

    }

然后从您的活动

Intent selectIntent = new Intent(this, BluePostService.class);
this.startService(selectIntent);

可能是您的问题是您已在"BluePostService"等清单中声明了该服务,但您希望像"bluepostservice"一样启动它。所以可能是它的主要问题。

答案 2 :(得分:0)

我认为应该是这样的:

<service android:name="bluepostservice" />  
  

android:name属性是唯一必需的属性 - 它   指定服务的类名。

答案 3 :(得分:-1)

您需要使用以下属性启用此服务:

 service android:enabled="true" android:name=".your service name">