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

Неубиваемый Service Android - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Сохранение набранного в EditText текста при смене активити http://www.cyberforum.ru/android-dev/thread1833976.html
Добрый день, подскажите как сделать чтобы при смене активити текст в EditText не пропадал.
Android Google maps метод поиска фрагмента карт на разметке для разных версий андроид Столкнулся с такой проблемой. в андройде 6 работает один метод поиска фрагмента карт на разметке а в 5 и ранее - другой. //api 21+ mapFragment = (MapFragment) getChildFragmentManager().findFragmentById(R.id.container_map); //api20- //mapFragment = (MapFragment) getActivity().getFragmentManager().findFragmentById(R.id.container_map); Соответственно метод не в свое версии андройда ничго... http://www.cyberforum.ru/android-dev/thread1833898.html
Android Не работает обработчик выбора файла
Снова пытаюсь разобраться с AIDE на мобиле. Проблема в том, что не отрабатывает метод onItemSelected. Там хочу прочитать файл, путь к нему и папку, в которой он находится, но пока там не работают даже логи. Код OpenFileDialog взят отсюда https://github.com/Scogun/Android-OpenFileDialog При запуске программы я вижу дерево каталогов, осуществляю навигацию, выбираю файл, но момент выбора никак в...
Android SearchView в ActionBar
Всем привет! Добавил в ActionBar фрагмента SearchView, но он не появляется, пустой ActionBar. С добавлением SearchView в ActionBar активити проблем нет. Видимо, я упускаю специфику фрагмента. res/xml/searchable <?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:hint="search..." android:label="@string/app_name" />
Android Permission Denial: receiving Intent http://www.cyberforum.ru/android-dev/thread1833482.html
Добрый вечер. Цель - после перезагрузки запускать Alarm, но он не запускается. System Process выдаёт вот это 10-24 13:16:04.460 477-487/system_process W/BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.BOOT_COMPLETED flg=0x10 (has extras) } to com.xxxx.yyyy.project/.StartAtBoot requires android.permission.RECEIVE_BOOT_COMPLETED due to sender null (uid 1000) ...
Android Связка ScrollView + Include + TableLayout Добрый день. Хочу реализовать основное меню с кнопками, небольшим текстом и логотипом. Для этого использую TableLayout. Для прокрутки по вертикали всех этих многочисленных кнопок подключаю ScrollView. Дальше подключаю Toolbar через include. Не работает. Кто подскажет какая последовательность этих элементов должна быть, чтобы работала данная связка? <ScrollView <TableLayout ... подробнее

Показать сообщение отдельно
shavuz
85 / 91 / 15
Регистрация: 29.01.2014
Сообщений: 441
28.10.2016, 18:19     Неубиваемый Service Android
щас пробую

Добавлено через 53 минуты
так.. вещи о которых забыли. прописать в манифесте разрешения и сервис
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.batteryservice">
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 
    <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>
        <service
            android:name=".BatteryService"
            android:label="@string/app_name">
        </service>
        <receiver android:name=".RestartReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
    </application>
 
</manifest>

вот остальной проект. вроде работает:классы мейн, сервис и ресивер перезагрузки:
ресивер батарейки в сервисе
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package com.batteryservice;
 
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
 
public class MainActivity extends AppCompatActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = new Intent(this, BatteryService.class);
        startService(intent);
    }
}
 
 
package com.batteryservice;
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
 
public class RestartReceiver extends BroadcastReceiver
{
    public static final String LOG_TAG = RestartReceiver.class.getSimpleName();
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Log.i(LOG_TAG, "Receiver BOOT_COMPLETED");
        Intent i = new Intent(context, BatteryService.class);
        context.startService(i);
    }
}
package com.batteryservice;
 
import android.app.Notification;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.BatteryManager;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.support.v4.app.NotificationCompat;
 
 
public class BatteryService extends Service
{
    private static final int DEFAULT_NOTIFICATION_ID = 101;
 
    @Override
    public void onCreate()
    {
        super.onCreate();
        this.registerReceiver(this.mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
    }
 
    @Override
    public int onStartCommand(Intent intent, int flags, int startId)
    {
        return START_STICKY;
    }
 
    @Nullable
    @Override
    public IBinder onBind(Intent intent)
    {
        return null;
    }
 
    BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver()
    {
        @Override
        public void onReceive(Context context, Intent intent)
        {
            int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            int chargeState = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
 
            int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
            boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                    status == BatteryManager.BATTERY_STATUS_FULL;
 
 
            switch (chargeState)
            {
                case BatteryManager.BATTERY_STATUS_CHARGING:
 
                    if (isCharging)
                    {
 
                        NotificationCompat.Builder builder = new NotificationCompat.Builder(BatteryService.this)
                                .setContentTitle("Charging...")
                                .setContentText("Battery level is: " + Integer.toString(level))
                                .setSmallIcon(android.R.drawable.stat_notify_chat);
 
                        Notification notification = builder.build();
                        notification.defaults |= Notification.DEFAULT_VIBRATE;
                        notification.defaults |= Notification.DEFAULT_SOUND;
                        startForeground(DEFAULT_NOTIFICATION_ID, notification);
 
                    }
                    break;
 
                case BatteryManager.BATTERY_STATUS_FULL:
 
                    break;
                case BatteryManager.BATTERY_STATUS_DISCHARGING:
                    break;
            }
        }
    };
 
    @Override
    public void onDestroy()
    {
        super.onDestroy();
        this.unregisterReceiver(this.mBatteryInfoReceiver);
    }
 
}
обратите внимание что у вас посылаются пушки только когда заряжается.
 
Текущее время: 01:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru