启动时启动服务:为什么它不起作用?

时间:2013-08-01 04:47:13

标签: java android service

我想在手机启动时启动服务但不起作用,我不明白为什么。在我的包中我创建了一个类

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

    public class BootPhone extends BroadcastReceiver{

        Intent intent;

        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            intent = new Intent(context, Service.class);
            context.startService(intent);
        }

    }

我的Service.class是

public class Service extends Service{

    Notify notify;


    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }


    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        notify = new Notify(this);
    }

}

在我的Manifest中,我把

<service android:name="Servicer"></service>
    <receiver android:name="BootPhone"
                android:enabled="true"
                        android:exported="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
                    </intent-filter>
    </receiver>

但是,为什么它不起作用?问题/错误在哪里?

1 个答案:

答案 0 :(得分:2)

您必须在清单

中声明用户权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />