Android服务无法启动

时间:2014-12-01 09:32:41

标签: android service android-studio

我确实遵循了本教程:Android - Start service on boot但这对我不起作用。

我正在使用android studio, 我通过单击启动器图标启动该服务。 然后我重新启动我的androphone但没有任何反应......

有没有办法直接通过android studio启动Android服务,而无需重启手机?

法文版:
J'aieffectuélemême例如,在页面suivante:Android - Start service on boot Mais je n'aipasréussiàlefaire fonctionner。 Je suis sous安卓工作室, Je lance mon应用程序normalementàpartird'android stuio avec le laucher Puis je relancemontéléphoneportableetçanemarche pas ... Je ne vois pas pourquoi。 Y a t il unepossibilitédelancer un service depuis android studio directement sans avoir a relancermontéléphoneportable?

我的服务:

package com.test.juxo.testservice;

import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;

public class MonService extends Service {
    @Override
    public void onDestroy() {
        Log.v("LTM", "onDestroy");
        super.onDestroy();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.v( "LTM","onStartCommand" );
        int i = super.onStartCommand(intent, flags, startId);
        Thread monT = new Thread(new Sender());
        monT.start();
        return i;
    }

    @Override
    public IBinder onBind( Intent arg0 ) {
        Log.v( "LTM","onBind" );
        return null;
    }
}

MyReceiver.java

package com.test.juxo.testservice;

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

public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive( Context ctx, Intent i ) {

        Log.v("LTM", "MyReceiver.onReceive : " + i.getAction());

        Intent intent = new Intent( ctx, MonService.class );
        ctx.startService(intent);
    }
}

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.juxo.testservice"
    android:versionCode="1"
    android:versionName="1.1" >

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

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <service
            android:name="com.test.juxo.testservice.MonService"
            android:label="Mon beau service"
            android:enabled="true"
            android:exported="false" >
        </service>

        <receiver
            android:name="com.test.juxo.testservice.MyReceiver"
            android:enabled="true"
            android:exported="false" >
            <intent-filter>
             <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

我会尝试改变:

android:name="com.test.juxo.testservice.MyReceiver"

android:name=".MyReceiver"

如果您尝试按照该教程进行操作,那么我会完全遵循它。删除代码中不在教程中的所有内容。如果它运行良好,请开始添加代码并了解它为什么不起作用。如果我的建议不起作用,请告诉我