Этого не происходит. Проблема в том, что всегда onStartCommad возвращает 0, вместо START_FLAG_RETRY или START_FLAG_REDELIVERY. Перепробовал все что можно, все равно нуль... Помогите, пожалуйста, сил моих больше нет...
Код сервиса по уроку 94http://startandroid.ru/ru/uroki/vse-uro ... mmand.html
MyService.java
Код: Выделить всё
[syntax=java]package p0942servicekillserver.develop.startandroid.ru.servicekillserver;
/**
* Created by YJYJ on 18.10.2015.
*/
import java.util.concurrent.TimeUnit;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class MyService extends Service {
final String LOG_TAG = "myLogs";
public void onCreate() {
super.onCreate();
Log.d(LOG_TAG, "MyService onCreate");
}
public void onDestroy() {
super.onDestroy();
Log.d(LOG_TAG, "MyService onDestroy");
}
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(LOG_TAG, "MyService onStartCommand, name = " + intent.getStringExtra("name"));
readFlags(flags);
MyRun mr = new MyRun(startId);
new Thread(mr).start();
return START_STICKY;
}
public IBinder onBind(Intent arg0) {
return null;
}
void readFlags(int flags) {
Log.d(LOG_TAG, "Читаем флаги");
switch (flags) {
case START_FLAG_REDELIVERY:
Log.d(LOG_TAG, "readFlags: START_FLAG_REDELIVERY");
break;
case START_FLAG_RETRY:
Log.d(LOG_TAG, "readFlags: START_FLAG_RETRY");
break;
case 0:
Log.d(LOG_TAG, "readFlags: 0");
break;
default:
Log.d(LOG_TAG, "readFlags: ERROR. Unexpected flag returned: " + flags);
}
}
class MyRun implements Runnable {
int startId;
public MyRun(int startId) {
this.startId = startId;
Log.d(LOG_TAG, "MyRun#" + startId + " create");
}
public void run() {
Log.d(LOG_TAG, "MyRun#" + startId + " start");
try {
TimeUnit.SECONDS.sleep(600);
Log.d(LOG_TAG, "Завершено...");
} catch (InterruptedException e) {
e.printStackTrace();
}
stop();
}
void stop() {
Log.d(LOG_TAG, "MyRun#" + startId + " end, stopSelfResult("
+ startId + ") = " + stopSelfResult(startId));
}
}
}[/syntax]
Код: Выделить всё
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="p0942servicekillserver.develop.startandroid.ru.servicekillserver" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<service android:name=".MyService" >
<intent-filter>
<action android:name="p0942servicekillserver.develop.startandroid.ru.servicekillserver.MyService" >
</action>
</intent-filter>
</service>
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true"
android:process=":Servis"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
</manifest>
[/syntax]