如何制作Android编程服务

时间:2012-11-29 18:53:51

标签: android android-intent service

我正在尝试启动和关闭服务。我的服务是日志。

package com.example.textsmslock;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class Logs extends Service
{
    @Override
    public IBinder onBind(Intent arg0){
         // TODO Auto-generated method stub
        return null;
    }
     @Override
        public void onStart(Intent intent, int startId) {
            // TODO Auto-generated method stub
            super.onStart(intent, startId);
            System.out.println("LOGS STARTED");
            Log.d("TAG", "FirstService started");
        }
       @Override
        public void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
        }
}

调用它的活动是ConfirmPin。正在函数中调用日志。

// imports...
// public class...

public void ConfirmingPin()
{   
    if(pinCorrect) 
    {
        startService(new Intent("com.example.textsmslock.Logs"));
    }
}

这是我的AndridManifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.textsmslock"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".ConfirmPin"
        android:label="@string/title_activity_confirm_pin" >
        <intent-filter>
            <action android:name="com.example.textsmslock.ConfirmPin" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <service android:name=".Logs"/>
</application>

logcat说:

  

无法启动服务Intent {act = com.example.textsmslock.Logs}:未找到

有谁知道为什么我无法启动服务意图?

1 个答案:

答案 0 :(得分:1)

您的活动清单中的IntentFilter似乎不对,请尝试:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

启动服务:

startService(new Intent(this, Logs.class));

(你几分钟前用不同的LogCat发布了这个,这个错误直接指向了我。你在我发布答案之前删除了这个问题......)