我确实遵循了本教程: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>
有人能帮助我吗?
答案 0 :(得分:0)
我会尝试改变:
android:name="com.test.juxo.testservice.MyReceiver"
要
android:name=".MyReceiver"
如果您尝试按照该教程进行操作,那么我会完全遵循它。删除代码中不在教程中的所有内容。如果它运行良好,请开始添加代码并了解它为什么不起作用。如果我的建议不起作用,请告诉我