Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Vyazan
11 / 11 / 2
Регистрация: 19.03.2012
Сообщений: 100
#1

Не работает автозагрузка сервиса AndroidStudio - Программирование Android

17.10.2015, 10:13. Просмотров 353. Ответов 2
Метки нет (Все метки)

Делаю пример из урока по Android Studio. Сервис работает только до перезагрузки. Поможите, пожалуйста тугому)
Код MyService.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package p0921servicesimple.develop.startandroid.ru.servise;
 
/**
 * Created by YJYJ on 16.10.2015.
 */
 
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, "onCreate");
    }
 
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.d(LOG_TAG, "onStartCommand");
        someTask();
        return super.onStartCommand(intent, flags, startId);
    }
 
    public void onDestroy() {
        super.onDestroy();
        Log.d(LOG_TAG, "onDestroy");
    }
 
    public IBinder onBind(Intent intent) {
        Log.d(LOG_TAG, "onBind");
        return null;
    }
 
 
 
 
    void someTask() {
    }
}


Код BootBroadReciev.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package p0921servicesimple.develop.startandroid.ru.servise;
 
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
 
/**
 * Created by YJYJ on 16.10.2015.
 */
public class BootBroadReciev extends BroadcastReceiver {
 
    final String LOG_TAG = "myLogs";
 
    public void onReceive(Context context,Intent intent) {
        if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
            Log.d(LOG_TAG, "onReceive " + intent.getAction());
            context.startService(new Intent(context, MyService.class));
        }
    }
}


Код AndroidManifest.xml
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="p0921servicesimple.develop.startandroid.ru.servise" >
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 
 
        <receiver android:name=".BootBroadReciev"
            android:enabled="true"
            android:exported="false"
            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>
            <intent-filter >
                <action android:name="android.intent.action.ACTION_SHUTDOWN" />
            </intent-filter>
        </receiver>
        <service android:name=".MyService"/>
    </application>
 
 
 
</manifest>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 10:13     Не работает автозагрузка сервиса AndroidStudio
Посмотрите здесь:
Стандартная функция delete в Eclipse работает а в AndroidStudio не работает Android
Как работает шаблон NavigationDrawer в AndroidStudio, где обрабатывать нажатия на навигационной панели? Android
Android Не запускается AndroidStudio
AndroidStudio автодополнение кода Android
Android Запуск приложения в AndroidStudio
Верстка в AndroidStudio, превью Android
Ошибка в logcat AndroidStudio Android
Android Не могу проект запустить (AndroidStudio)
Как реализовать таймер в AndroidStudio? Android
Стили в AndroidStudio для разных API Android
Android Не получается запустить пустой проект AndroidStudio
Android Как поменять пути к папкам AndroidStudio?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
17.10.2015, 12:05     Не работает автозагрузка сервиса AndroidStudio #2
Тут читал?
Vyazan
11 / 11 / 2
Регистрация: 19.03.2012
Сообщений: 100
18.10.2015, 11:49  [ТС]     Не работает автозагрузка сервиса AndroidStudio #3
Читал, делал, как там все. В тех вариантах тоже не работает ничего и флаг всегда возвращается равным 0
P0941_ServiceKillClient
Кликните здесь для просмотра всего текста

Код MainActivity.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package p0941servicekillclient.develop.startandroid.ru.servicekillclient;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
 
public class MainActivity extends Activity {
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
 
    public void onClickStart(View v) {
        startService(new Intent("p0942servicekillserver.develop.startandroid.ru.servicekillserver.MyService").putExtra("name", "value"));
    }
}


Код AndroidManifest.xml
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="p0941servicekillclient.develop.startandroid.ru.servicekillclient" >
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>



P0942_ServiceKillServer
Кликните здесь для просмотра всего текста

MyService.java
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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_REDELIVER_INTENT;
    }
 
    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(15);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            stop();
        }
 
        void stop() {
            Log.d(LOG_TAG, "MyRun#" + startId + " end, stopSelfResult("
                    + startId + ") = " + stopSelfResult(startId));
        }
    }
}

AndroidManifest.xml
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="p0942servicekillserver.develop.startandroid.ru.servicekillserver">
 
    <application android:allowBackup="true" android:label="@string/app_name"
        android:icon="@mipmap/ic_launcher" 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>
 
    </application>
 
</manifest>

Yandex
Объявления
18.10.2015, 11:49     Не работает автозагрузка сервиса AndroidStudio
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru