Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Проблемы с появлением Merged Manifest

В первый раз решил обновить свое опубликованное приложение, помимо исправленной ошибки, поменял versionCode и versionName. Прежде чем добавить новый apk в Google Play Console решил сгенерировать подписанный apk(release) с тем же ключом для опубликованного приложения(все alias и пароли верные, сохраняю такие вещи чтобы не забыть и не запутаться). Кинул подписанный apk в устройство где установлено приложение с Play Market-а. Но при установке пишет "Приложение не установлено. Пакет с таким названием уже существует".

Я точно знаю что на устройстве установлено release apk, а не дебаг.
На эмулятор дебаг версия ставится и работает стабильно.
И тут первый раз в файле манифеста появляется Merged Manifest (работаю с андроид студио около года).
Начинаю читать доки . Даже не преполагал, что manifest-ов несколько в проекте). То ли не хватает опыта еще или знания английского, но пробовал разные аттрибуты ничего не помогает.
На свякий случай файлы манифеста и build.gradle(app)



Не могу разообраться сам с доками, гуглим похожие баги.
Одна из ошибок, что у меня не валидный xml(манифест)
Я делаю Validate моего Manifest-а и выходят такие ошибки

Вот здесь похожие ошибки манифеста у человека
Пробовал удалять .idea и *.iml и заново заимпортить проект, ничего не помогло
Потом одно из решений было зайти Settings -> Languages & Frameworks -> Schemas and DTDs и удалить Ignored Schemas and DTDs. Вот они

Как они там оказались или они там всегда были не знаю, но удаляя их они не удаляются. Так там и висят в ignored.

Далее думал может у меня что то со студией, обновился до текущей стабильной версии 3.2.1 и не стал импортить свои settings.
А загрузил новые(дефолтные). Ничего не поменялось.

Более того теперь все проекты загружаются с Merged Manifest. Это нормально?

Так же вычитал, что я в процессе правки своей обновленной версии приложения якобы правил debug версию, а не release. Как такое может быть я не понимаю. Ведь раньше до попытки обновления версии такого не встречал.

Наверно я все таки до конца не понимаю суть своей проблемы, поэтому и пишу сюда за помощью. Но факт остается фактом приложение не обновляется(см. начало моего сообщения).

Если кто может помочь, напишите пож-та пошагово, что мне попробывать сделать.
Ответ:
Сообщение от bIVEHb
Кинул подписанный apk в устройство где установлено приложение с Play Market-а.
Сообщение от bIVEHb
Пакет с таким названием уже существует
Что не так, я не пойму? Нельзя установить два приложения с одним именем пакета, либо удалить одно, либо заменить при компиляции.
Вопрос: проблема с работой Androida 5.1

добрый день! появилась такая проблема: ставил mt manager, решил клонировать приложуху. получилось, но без оптимизации. для этого нужно было заменить toolbox с соответствующими разрешениями. стал менять и root explorer выдал ошибку. закрыл. все последующие запуски были с одной и той же ошибкой, причём телефон конкретно вис перед закрытием. решил перезагрузиться. после получил циклический ребут. зашёл в recovery, сделал wipe. ребут. и снова ребут. и снова. и снова....скачал прошивку, прошился flashtoolom. запустился. перестали работать сенсорные кнопки управления, экран с лева промахивается капитально, плюс ко всему в горизонтальной ориентации зеркальная работа дисплея. и в инженерном меню появилась проблема с доступом к тесту железа вот ссылка на скрин 
Ответ:
добрый день! появилась такая проблема: ставил mt manager, решил клонировать приложуху. получилось, но без оптимизации. для этого нужно было заменить toolbox с соответствующими разрешениями. стал менять и root explorer выдал ошибку. закрыл. все последующие запуски были с одной и той же ошибкой, причём телефон конкретно вис перед закрытием. решил перезагрузиться. после получил циклический ребут. зашёл в recovery, сделал wipe. ребут. и снова ребут. и снова. и снова....скачал прошивку, прошился flashtoolom. запустился. перестали работать сенсорные кнопки управления, экран с лева промахивается капитально, плюс ко всему в горизонтальной ориентации зеркальная работа дисплея. и в инженерном меню появилась проблема с доступом к тесту железа вот ссылка на скрин 
Вопрос: Как изменить место появления SnackBar

Есть рекламный баннер внизу экрана.
И есть всплывающий SnackBar.
При появление SnackBar перекрывает рекламный баннер.
Можно изменить место появления SnackBar (чтоб всплывал над рекламным баннером)?
Ответ: Спасибо, но мне нужен именно SnackBar.

Добавлено через 3 часа 32 минуты
Ответ подсказали здесь:
Вопрос: Проблема с Button на Android Studio

Здравствуйте, дамы и господа!
Помогите пожалуйста разобраться с проблемой.
Я написал для Андроида приложение, которое решает квадратные уравнения. Приложение состоит только из одной Активити. На этой активити есть форма заполнения уравнения и одна кнопка Button, на которой написано "Расчёт". Всё хорошо работает, устанавливается на телефон, запускается, решает уравнения как надо, но есть одна небольшая проблема. Когда я ввожу желаемое уравнение и нажимаю Button "Расчёт", то собственно надпись "Расчёт" с кнопки пропадает и никогда больше не появляется до рестарта приложения. Так происходит и в эмуляторе и на реальном телефоне. Я уже начал думать, что так и задумано разработчиками. Или может есть какой-то параметр для этого? Или это ошибка или недочёт? Текст слова "Расчёт" взят из ресурсов, а не запрограммирован жестко. Может есть способ прописать в конце слушателя OnClickListener метод который будет снова прописывать текст каждый раз после расчёта? Или может вовсе заменить слушателя на метод onClick?
Помогите пожалуйста! Проблема незначительная, но очень досадная. Сам не могу справиться.

Вот код разметки:

HTML5
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark"
    tools:context="irokezer58.kvadurforandroid_40.MainActivity">
 
 
    <TextView
        android:id="@+id/textZagl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:text="@string/zagl"
        android:textAlignment="center"
        android:textAllCaps="false"
        android:textColor="@color/Lime"
        android:textStyle="bold"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
    <EditText
        android:id="@+id/aEdit"
        android:layout_width="54dp"
        android:layout_height="50dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:inputType="numberSigned"
        android:shadowColor="@color/White"
        android:text="@string/a"
        android:textAlignment="center"
        android:textColor="@color/Lime"
        android:textColorHighlight="@android:color/holo_blue_bright"
        android:textColorHint="?attr/colorPrimaryDark"
        android:textColorLink="@color/White"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/textXq"
        app:layout_constraintTop_toTopOf="parent" />
 
    <EditText
        android:id="@+id/bEdit"
        android:layout_width="55dp"
        android:layout_height="50dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:inputType="numberSigned"
        android:text="@string/b"
        android:textAlignment="center"
        android:textColor="@color/Lime"
        android:textColorLink="@color/White"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/textX"
        app:layout_constraintTop_toTopOf="parent" />
 
    <EditText
        android:id="@+id/cEdit"
        android:layout_width="55dp"
        android:layout_height="50dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:inputType="numberSigned"
        android:text="@string/c"
        android:textAlignment="center"
        android:textColor="@color/Lime"
        android:textColorLink="@color/White"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/textZero"
        app:layout_constraintTop_toTopOf="parent" />
 
    <TextView
        android:id="@+id/textXq"
        android:layout_width="55dp"
        android:layout_height="40dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:text="@string/xQ"
        android:textAlignment="center"
        android:textColor="@color/Lime"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/bEdit"
        app:layout_constraintTop_toTopOf="parent" />
 
    <TextView
        android:id="@+id/textX"
        android:layout_width="54dp"
        android:layout_height="40dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:text="@string/x"
        android:textAlignment="center"
        android:textColor="@color/Lime"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/cEdit"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.501" />
 
    <TextView
        android:id="@+id/textZero"
        android:layout_width="55dp"
        android:layout_height="40dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:text="@string/zero"
        android:textAlignment="center"
        android:textColor="@color/Lime"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
    <Button
        android:id="@+id/buttonRashc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:background="@color/Lime"
        android:text="@string/ButtonRaschot"
        android:textColor="@color/Dark"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/bEdit" />
 
    <TextView
        android:id="@+id/textVasheUr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:textColor="@color/Lime"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textZagl" />
 
    <TextView
        android:id="@+id/textmUr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:textColor="@color/Lime"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textVasheUr" />
 
    <TextView
        android:id="@+id/textDiskrim"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:textColor="@color/Lime"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textmUr" />
 
    <TextView
        android:id="@+id/textmDiskrim"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:textColor="@color/Lime"
        app:layout_constraintLeft_toRightOf="@+id/textDiskrim"
        app:layout_constraintTop_toBottomOf="@+id/textmUr" />
 
    <TextView
        android:id="@+id/textmOtvet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:textColor="@color/Lime"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textDiskrim" />
 
    <TextView
        android:id="@+id/textmXX"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:textColor="@color/Lime"
        android:textSize="24sp"
        app:layout_constraintBottom_toTopOf="@+id/bEdit"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textmOtvet" />
 
</android.support.constraint.ConstraintLayout>
Вот код программы:

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
package irokezer58.kvadurforandroid_40;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class MainActivity extends AppCompatActivity {
 
    private Button mRashcot;
    private EditText mCoefa;
    private EditText mCoefb;
    private EditText mCoefc;
    private TextView mFirsStrin;
    private TextView mTwoString;
    private TextView mTreeString;
    private TextView mFourString;
    private TextView mFiveString;
    private TextView mXX;
 
    double tmp02a;
    String tmp01a;
    double tmp02b;
    String tmp01b;
    double tmp02c;
    String tmp01c;
    double mDs;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
        mRashcot = (Button)findViewById(R.id.buttonRashc);
        mFirsStrin = (TextView)findViewById(R.id.textVasheUr);
        mTwoString = (TextView)findViewById(R.id.textmUr);
        mTreeString = (TextView)findViewById(R.id.textDiskrim);
        mFourString = (TextView)findViewById(R.id.textmDiskrim);
        mFiveString = (TextView)findViewById(R.id.textmOtvet);
        mXX = (TextView)findViewById(R.id.textmXX);
 
        mRashcot.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                mRashcot.setText("");
                mFirsStrin.setText("");
                mTwoString.setText("");
                mTreeString.setText("");
                mFourString.setText("");
                mFiveString.setText("");
                mXX.setText("");
 
                mCoefa = (EditText)findViewById(R.id.aEdit);
                mCoefb = (EditText)findViewById(R.id.bEdit);
                mCoefc = (EditText)findViewById(R.id.cEdit);
 
                tmp01a = mCoefa.getText().toString();
 
                if (tmp01a==null) tmp02a = 0;
                else{
                    tmp02a = new Double(tmp01a);}
 
                tmp01b = mCoefb.getText().toString();
 
                if (tmp01b==null) tmp02b = 0;
                else{
                    tmp02b = new Double(tmp01b);}
 
                tmp01c = mCoefc.getText().toString();
 
                if (tmp01c==null) tmp02c = 0;
                else{
                    tmp02c = new Double(tmp01c);}
 
                QadUr Urav = new QadUr (tmp02a, tmp02b, tmp02c);
 
                mFirsStrin.setText("Ваше уравнение:");
 
                Urav.Diskrim();
                Urav.createUravneniye();
                mDs = Urav.getD();
 
                mTwoString.setText(Urav.getmUravneniye());
                mTreeString.setText("Дискриминант уравнения =  ");
                mFourString.setText(Urav.getmDString());
 
 
                // КОГДА  КОРНЕЙ  НЕТ
                if (mDs<0) {
                    mFiveString.setText("Дискриминант - отрицательное число. Уравнение не имеет корней.");
                }
 
                if (mDs==0){
                    mFiveString.setText("Дискриминант равен нулю. Уравнение имеет один корень.");
                    Urav.X_1();
                    mXX.setText("x = "+Urav.getX1());
                }
                if (mDs>0){
                    mFiveString.setText("Дискриминант - положительное число. Уравнение имеет два корня.");
                    Urav.X_1();
                    Urav.X_2();
                    mXX.setText("x1 = "+Urav.getX1()+"\n"+"x2 = "+Urav.getX2());
                }
 
            }
        });
 
 
 
    }
}
Вот код ресурсов (на всякий случай):
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<resources>
 
    <string name="app_name">Квадратные уравнения</string>
    <string name="a">а</string>
    <string name="b">b</string>
    <string name="c">c</string>
    <string name="x">x+</string>
    <string name="xQ">x^2+</string>
    <string name="zero">=0</string>
    <string name="plus">+</string>
    <string name="ravno">=</string>
    <string name="zagl">Решение квадратного уравнения</string>
    <string name="ButtonRaschot">Расчёт</string>
    <string name="Diskrim">Дискриминант уравнения =  </string>
    <string name="KorneyNet">Дискриминант - отрицательное число. Корней нет.</string>
    <string name="OdinKoren">Дискриминант равен нулю. Уравнение имеет один корень.</string>
    <string name="DvaKornya">Дискриминант - положительное число. Уравнение имеет два корня.</string>
    <string name="Vashe">Ваше уравнение:</string>
    <string name="about_title">Неизвестная надпись</string>
    <string name="tmp">0</string>
 
</resources>

Надеюсь я правильно разместил код в посте.

Пожалуй приложу скриншоты пропавшей надписи в эмуляторе:
Ответ: Чёрт! Как я сам не заметил? Спасибо большое! Впредь буду внимательнее... надеюсь.
Вопрос: Проблема с Attributes

Приветствую, столкнулся с такой проблемой: пропали все атрибуты. Подскажите, пожалуйста, как вернуть их на место.
Ответ: ExFau$t, а что делать после того как исправил?
Вопрос: Layout не меняет размер при появлении клавиатуры

Добрый день.
Имеется вот такая разметка
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
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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.igordubrovin.trainstimetable.activities.MainActivity">
 
    <include layout="@layout/toolbar"/>
 
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/toolbar">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:baselineAligned="false"
            android:id="@+id/linearInformationStation"
            android:focusableInTouchMode="true"
            android:layout_marginTop="@dimen/activity_horizontal_margin"
            android:layout_marginEnd="@dimen/activity_horizontal_margin"
            android:layout_marginStart="@dimen/activity_vertical_margin"
            android:layout_marginRight="@dimen/activity_horizontal_margin"
            android:layout_marginLeft="@dimen/activity_vertical_margin">
            <android.support.design.widget.TextInputLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <com.igordubrovin.trainstimetable.customView.CustomEditText
                    android:inputType="text"
                    android:id="@+id/etSearchFromStation"
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:hint="@string/station_from"
                    android:maxLines="1"
                    android:imeOptions = "actionSearch"/>
            </android.support.design.widget.TextInputLayout>
            <android.support.design.widget.TextInputLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <com.igordubrovin.trainstimetable.customView.CustomEditText
                    android:inputType="text"
                    android:id="@+id/etSearchToStation"
                    android:layout_height="wrap_content"
                    android:layout_width="match_parent"
                    android:hint="@string/station_to"
                    android:maxLines="1"
                    android:imeOptions = "actionSearch"/>
            </android.support.design.widget.TextInputLayout>
            <ImageButton
                android:id="@+id/imgBtnSearchTrain"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="0.25"
                app:srcCompat="@drawable/ic_search_api_material"
                android:contentDescription="@string/search"/>
        </LinearLayout>
 
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/linearInformationStation"
            android:id="@+id/fragmentContainer"
            android:layout_marginTop="20dp"/>
    </RelativeLayout>
 
</RelativeLayout>
FrameLayout с id="@+id/fragmentContainer" использую как контейнер для фрагмента и динамически вставляю фрагмент с RecyclerView:

XML
1
2
3
4
5
6
7
8
9
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvSearchStation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.v7.widget.RecyclerView>
</FrameLayout>
Когда нажимаю на EditText выползает клавиатура но при этом FrameLayout не уменьшается и она закрывает половину RecyclerView т.е. последние итемы не видны, до него просто не прокручивается список.
Если перевернуть телефон то все начинает работать и можно прокрутить до последнего элемента, неважно открыта или скрыта клавиатура.
Перепробовал уже кучу всего, но ничего не помогает. (windowSoftInputMode="adjustResize" и fitsSystemWindows="true" выставил первым делом)
Ответ: тоже пробовал, но не помогает.
может в стиле проблема?
XML
1
2
3
4
5
6
7
8
9
10
11
12
<resources>
 
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorButtonNormal">@color/colorAccent</item>
    </style>
 
</resources>
Добавлено через 22 минуты
Решил проблему заменой контейнера
XML
1
2
3
4
5
6
<FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/linearInformationStation"
            android:id="@+id/fragmentContainer"
            android:layout_marginTop="20dp"/>
на ScrollView.

Добавлено через 2 часа 7 минут
Замена на ScrollView мне показалась костыльным решением, поэтому я порылся еще. И нашел так что искал. Если у корневого RelativeLayout установить android:isScrollContainer="true" то все работает со старой разметкой
Вопрос: Error retrieving parent for item: No resource found that matches the given name

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
Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]
 
C:\Users\1\AndroidStudioProjects\Terminal\app\build\intermediates\res\merged\debug\values-ldltr-v21\values-ldltr-v21.xml
 
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.
 
C:\Users\1\AndroidStudioProjects\Terminal\app\build\intermediates\res\merged\debug\values-v21\values-v21.xml
 
Error:(13) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Inverse'.
Error:(15) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Large.Inverse'.
Error:(21) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Medium.Inverse'.
Error:(28) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Small.Inverse'.
Error:(212) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ProgressBar'.
Error:(214) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ProgressBar.Horizontal'.
Error:(222) Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Material'.
Error:(232) Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Material.Light'.
Error:(172) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.AutoCompleteTextView'.
Error:(185) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.EditText'.
Error:(6) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Button'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
Error:(4) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Body1'.
Error:(5) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Body2'.
Error:(7) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Caption'.
Error:(8) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Display1'.
Error:(9) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Display2'.
Error:(10) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Display3'.
Error:(11) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Display4'.
Error:(12) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Headline'.
Error:(14) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Large'.
Error:(16) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.PopupMenu.Large'.
Error:(18) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.PopupMenu.Small'.
Error:(20) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Medium'.
Error:(22) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Menu'.
Error:(23) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.SearchResult.Subtitle'.
Error:(25) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.SearchResult.Title'.
Error:(27) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Small'.
Error:(29) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Subhead'.
Error:(30) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Title'.
Error:(37) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionBar.Title.Inverse'.
Error:(39) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionMode.Subtitle'.
Error:(41) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionMode.Title'.
Error:(43) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button'.
Error:(49) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.PopupMenu.Large'.
Error:(51) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.PopupMenu.Small'.
Error:(53) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Button'.
Error:(54) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.TextView.SpinnerItem'.
Error:(55) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionBar.Subtitle'.
Error:(57) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionBar.Title'.
Error:(102, 21) No resource found that matches the given name: attr 'android:colorAccent'.
Error:(106, 21) No resource found that matches the given name: attr 'android:colorButtonNormal'.
Error:(104, 21) No resource found that matches the given name: attr 'android:colorControlActivated'.
Error:(105, 21) No resource found that matches the given name: attr 'android:colorControlHighlight'.
Error:(103, 21) No resource found that matches the given name: attr 'android:colorControlNormal'.
Error:(100, 21) No resource found that matches the given name: attr 'android:colorPrimary'.
Error:(101, 21) No resource found that matches the given name: attr 'android:colorPrimaryDark'.
Error:(109, 21) No resource found that matches the given name: attr 'android:windowElevation'.
Error:(149, 21) No resource found that matches the given name: attr 'android:colorAccent'.
Error:(153, 21) No resource found that matches the given name: attr 'android:colorButtonNormal'.
Error:(151, 21) No resource found that matches the given name: attr 'android:colorControlActivated'.
Error:(152, 21) No resource found that matches the given name: attr 'android:colorControlHighlight'.
Error:(150, 21) No resource found that matches the given name: attr 'android:colorControlNormal'.
Error:(147, 21) No resource found that matches the given name: attr 'android:colorPrimary'.
Error:(148, 21) No resource found that matches the given name: attr 'android:colorPrimaryDark'.
Error:(156, 21) No resource found that matches the given name: attr 'android:windowElevation'.
Error:(159, 21) No resource found that matches the given name: attr 'android:windowElevation'.
Error:(161) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionBar.TabText'.
Error:(163) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionBar.TabView'.
Error:(165) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
Error:(167) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton.CloseMode'.
Error:(170) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton.Overflow'.
Error:(175) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button'.
Error:(176) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Borderless'.
Error:(177) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Borderless.Colored'.
Error:(180) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Small'.
Error:(181) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ButtonBar'.
Error:(182) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.CompoundButton.CheckBox'.
Error:(183) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.CompoundButton.RadioButton'.
Error:(184) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.DropDownItem.Spinner'.
Error:(188) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ImageButton'.
Error:(189) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Light.ActionBar.TabText'.
Error:(191) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Light.ActionBar.TabText'.
Error:(193) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Light.ActionBar.TabView'.
Error:(195) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Light.PopupMenu'.trieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Medium'.
Error:(22) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Menu'.
Error:(23) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.SearchResult.Subtitle'.
Error:(25) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.SearchResult.Title'.
Error:(27) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Small'.
Error:(29) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Subhead'.
Error:(30) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Title'.
Error:(31) Error retrieving parent for item: No resource found that matches the given name 
Error:(220) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Toolbar.Button.Navigation'.
Error:(246, 21) No resource found that matches the given name: attr 'android:colorAccent'.
Error:(250, 21) No resource found that matches the given name: attr 'android:colorButtonNormal'.
Error:(248, 21) No resource found that matches the given name: attr 'android:colorControlActivated'.
Error:(249, 21) No resource found that matches the given name: attr 'android:colorControlHighlight'.
Error:(247, 21) No resource found that matches the given name: attr 'android:colorControlNormal'.
Error:(244, 21) No resource found that matches the given name: attr 'android:colorPrimary'.
Error:(245, 21) No resource found that matches the given name: attr 'android:colorPrimaryDark'.
C:\Users\1\AndroidStudioProjects\Terminal\app\build\intermediates\res\merged\debug\values-v23\values-v23.xml
Error:(37) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.
Error:(33) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Borderless.Colored'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionBar.Menu'.
Error:(4) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(34) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.
Error:(35) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.RatingBar.Indicator'.
Error:(36) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.RatingBar.Small'.
Error:(37) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Spinner.Underlined'.
Error:(33) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Borderless.Colored'.
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.ActionBar.Menu'.
Error:(4) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(34) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.
Error:(35) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.RatingBar.Indicator'.
Error:(36) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.RatingBar.Small'.
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
Information:BUILD FAILED
Information:Total time: 32.27 secs
Information:209 errors
Information:0 warnings
Information:See complete output in console
Подскажите что делать?

Добавлено через 4 минуты
какая то ошибка с ресурсами. Подчеркивает красным "R.id.edit_receive, R.layout.main"
Ответ: vxg, да пробывал.
Решил проблему путем созданием нового и переносом туда кода

Добавлено через 24 секунды
что за глюк я не знаю... первый раз такое
Вопрос: Обработка NFC в запущенной Activity

Доброго времени суток.
Программа для чтения и записи NFC меток.
Когда телефон подношу к NFC устройству телефон предлагает список программ для чтения. Причём независимо от того запущено моё приложение или нет.
Как телефону объяснить, что если приложение уже запущено - не надо заново предлагать на выбор программы для работы с меткой?
Манифест:
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="aaa.nfctest">
    <uses-sdk android:minSdkVersion="10"/>
    <uses-permission android:name="android.permission.NFC" />
    <uses-feature android:name="android.hardware.nfc" android:required="true" />
    <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" android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.nfc.action.TECH_DISCOVERED"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
                       android:resource="@xml/nfc_tech_filter" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>
    </application>
</manifest>
На этапе прототипа весь код небольшой и находится в onCreate:
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
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tInfo = (TextView) findViewById(R.id.tInfo);
 
        if (!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.NFC))
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.NFC}, 1);
 
        doButton = (Button) findViewById(R.id.DoButton);
        doButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = getIntent();
                tInfo.setText(i.getAction());
                if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(i.getAction()))
                {
                    tagFromIntent = i.getParcelableExtra(NfcAdapter.EXTRA_TAG);
                    //byte[] GetSystemInfoFrame = new byte[] { (byte) 0x0A, (byte) 0x2B };
                    byte[] setConfigByte = new byte[] {(byte)0x02, (byte)0xA4, (byte)0x02, (byte)0xFC};
                    byte[] getConfigByte = new byte[] {(byte)0x02, (byte)0xA0, (byte)0x02};
                    NfcV nfcv = NfcV.get(tagFromIntent);
                    try {
                        nfcv.close();
                        nfcv.connect();
                       // byte[] answ = nfcv.transceive(setConfigByte);
                        byte[] conf = nfcv.transceive(getConfigByte);
                        nfcv.close();
                    }
                    catch (IOException e) {
                        tInfo.setText(e.getMessage());
                    }
 
                }
            }
        });
        adapter = NfcAdapter.getDefaultAdapter(this);
        if (adapter == null) {
            tInfo.setText("Null adapter");
            finish();
        }
        if (adapter.isEnabled() == false) {
            tInfo.setText("Adapter is Off");
            finish();
        }
        Intent i = getIntent();
        if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(i.getAction())) {
            tagFromIntent = i.getParcelableExtra(NfcAdapter.EXTRA_TAG);
            tInfo.setText(tagFromIntent.getId().toString());
        }
        mClient = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
    }
Ответ: Паблито, onNewIntent есть (кстати, срабатывает, только, если стоит android:launchMode="singleInstance"). Но всё-равно, ОС предлагает список программ, если моё запущено.

Добавлено через 1 минуту
Java
1
2
3
4
5
6
7
8
    @Override
    protected void onNewIntent(Intent i) {
        super.onNewIntent(i);
        tInfo.setText(i.getAction());
        if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(i.getAction())) {
            tagFromIntent = i.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        }
    }
Добавлено через 22 часа 17 минут
Проблему решил. Спасло
Вопрос: Не работает автозагрузка сервиса AndroidStudio

Делаю пример из урока по Android Studio. Сервис работает только до перезагрузки. Поможите, пожалуйста тугому)
Код MyService.java
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
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(TM) 2 Platform Standard Edition 5.0
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>
Ответ: Читал, делал, как там все. В тех вариантах тоже не работает ничего и флаг всегда возвращается равным 0
P0941_ServiceKillClient
Кликните здесь для просмотра всего текста

Код MainActivity.java
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
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(TM) 2 Platform Standard Edition 5.0
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>

Вопрос: Как вызвать Notification в Broadcast Receiver?

нужно чтобы по событию в классе Broadcast Receiver, а точнее в методе onReceive() запустить метод уведомления например такое
Кликните здесь для просмотра всего текста
http://developer.alexanderklimov.ru/android/notification.php
, код которого расположен в MainActivity, но когда делаешь метод Notification статиком появляются проблемы с контекстом или как вообще лучше поступить?
Ответ: Rube, MainActivity
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
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
126
127
128
129
130
131
132
133
134
135
package com.babygps2;
 
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;
import android.location.Location;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class MainActivity extends FragmentActivity  {
    
    public static final String APP_PREFERENCES = "myNumber";
    public static final String APP_PREFERENCES_NAME = "Nickname"; // phone
    double Longtitude=0.0, Latitude=0.0;
    //public static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
    android.support.v4.app.DialogFragment dlg1; 
    // number
    Location currentLocation;
    private static final int DIAL = 0;
    SharedPreferences mSettings;
    private TextView text;
    static Button btnmap;
    private static final String TAG = null;
    long SMSlongtitude, SMSlatitude;
    static EditText messageNumber, et;
    String smsText, smsText1, smsText2, mes2;
    private static final int REQUEST = 1;
    //----------------notifica----------------
        private Button callButton;
        private static final int NOTIFY_ID = 0x1001;
        private static NotificationManager mNotifyMgr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // mNotifyMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        dlg1 = new DialogSet();
 
        et = (EditText) findViewById(R.id.editText1);
        mSettings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
        //messageNumber = (EditText) findViewById(R.id.et_number);
//      messageNumber.setOnLongClickListener(new View.OnLongClickListener() {
//
//          @SuppressLint("NewApi") @Override
//          public boolean onLongClick(View v) {
//              // TODO Auto-generated method stub
//              dlg1.show(getSupportFragmentManager(), "dlg1");
//               
//              //showDialog(DIAL);
//              return false;
//          }
//
//      });
        //-----Перенос полученных из SMS координат и запуск GoogleMaps-----------------------
        btnmap = (Button) findViewById(R.id.btn_send);
//      if (mSettings.contains(APP_PREFERENCES_NAME)) {
//          messageNumber
//                  .setText(mSettings.getString(APP_PREFERENCES_NAME, ""));
//      }
        Longtitude=MessageReceiver.Longtitude;
        Latitude=MessageReceiver.Latitude;
        
//      if(Longtitude!=0){
//          Notification();
//      }
        
        btnmap.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
                
                String geoUri = String.format("geo:%s,%s?z=17", Double.toString(Latitude), Double.toString(Longtitude));
                Intent geoMap = new Intent(Intent.ACTION_VIEW, Uri.parse(geoUri));
                startActivity(geoMap);
                
                    
            }
        });
    ReadyMap(Longtitude, Latitude);
    
    
    }// -------------End------onCreate---------------------------
 
    // -------------Метод сообщающий о получении данных из SMS-----
    public static void ReadyMap(double Longtitude, double Latitude) {
        
        if (Longtitude != 0 || Latitude != 0) {
//          smsText1 = String.valueOf(SMSlongtitude);
//          smsText2 = String.valueOf(SMSlatitude);
            btnmap.setBackgroundColor(Color.GREEN);
            
        } else {
 
            btnmap.setBackgroundColor(Color.RED);
        }
    }
 
    
    
    // -------------------END---------Работа со входящими
    // SMS--------------------------------------
 
    // ------------------Диалог ввода/изменения телефонного
    // номера------------------
    
    
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        String strNickName = messageNumber.getText().toString(); // здесь
                                                                    // содержится
                                                                    // текст,
                                                                    // введенный
                                                                    // в
                                                                    // текстовом
                                                                    // поле
        Editor editor = mSettings.edit();
        editor.putString(APP_PREFERENCES_NAME, strNickName);
        editor.commit();
    }
 
    
}

MessageReceiver
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
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
package com.babygps2;
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;
 
public class MessageReceiver extends BroadcastReceiver {
    //public static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
    private static final String APP_REQUEST_CODE = "BabyGPS1";
    private static final String myLogs = null;
    public static double Longtitude=0.0, Latitude=0.0;
    public static String mes;
    @SuppressWarnings("null")
    public void onReceive(Context context, Intent intent) {
    
        Bundle pudsBundle = intent.getExtras();
        Object[] pdus = (Object[]) pudsBundle.get("pdus");
        SmsMessage messages = SmsMessage.createFromPdu((byte[]) pdus[0]);
        
        Log.i(myLogs, messages.getMessageBody());
        
        if (messages.getMessageBody().contains(APP_REQUEST_CODE)) {
            
            abortBroadcast();
            
            context.startService(new Intent(context, NotificationService.class));
 
 
             
            mes = messages.getMessageBody();
            mes=mes.replaceAll(",", ".");
                 String div="|";
                 int divider = mes.indexOf(div);
                 String Lo = mes.substring(10, divider-1);
                 String La = mes.substring(divider+2);
                 
                Longtitude=Double.parseDouble(Lo);
                Latitude=Double.parseDouble(La);
             
                String ms = String.valueOf(Longtitude);
                String ms1 = String.valueOf(Latitude);
                Toast.makeText(context, ms+" "+ms1,
                 Toast.LENGTH_LONG).show();
                 
//               String ms2 = String.valueOf(Latitude);
//               Toast.makeText(context, ms2,
//               Toast.LENGTH_LONG).show();
                
                 MainActivity.ReadyMap(Longtitude, Latitude);
//               if (Longtitude != 0 || Latitude != 0) {
//
//                   
//
//                  //MainActivity.Notification();
////                     Notification notification = null;
////                     notification.defaults = Notification.DEFAULT_SOUND |
////                                Notification.DEFAULT_VIBRATE;
//               
//               }
                 
                 
        }
        
    }
    
    
}

NotificationService
Кликните здесь для просмотра всего текста
Код Java(TM) 2 Platform Standard Edition 5.0
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
package com.babygps2;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
 
public class NotificationService extends Service {
    public NotificationService() {
    }
    
    private static final int NOTIFY_ID = 0;
    private static final String NOTIFICATION_TAG = "Sound";
    private static NotificationManager mNotifyMgr;
    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
        
    }
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return Service.START_STICKY;
    }
public void onStartCommand(){
    
    int icon = R.drawable.ic_launcher;
  CharSequence tickerText = "Hello!";
  long when = System.currentTimeMillis();
  Context context = getApplicationContext();  
  CharSequence contentTitle = "Notification";
  CharSequence contentText = "Hi, I am Android!";
 
  Intent notificationIntent = new Intent(this, NotificationService.class);
  PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
      
  Notification notification = new Notification(icon, tickerText, when);
  notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
      
  mNotifyMgr.notify(NOTIFY_ID, notification);
    
}
//public void notify(final Context context, final String title, String text) {
//   
//    Intent intent = new Intent(context, MainActivity.class);
//    Notification notification = new Notification.Builder(context).setContentTitle(title).setContentText(text)
//            .setSmallIcon(R.drawable.abc_ab_share_pack_holo_dark).build();
//    notification.flags |= Notification.FLAG_AUTO_CANCEL;
//    notification.defaults |= Notification.DEFAULT_VIBRATE;
//    notification.defaults |= Notification.DEFAULT_LIGHTS;
//
//    notify(context, notification);
//}
//
//@TargetApi(Build.VERSION_CODES.ECLAIR)
//private void notify(final Context context, final Notification notification) {
//    final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
//    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
//        nm.notify(NOTIFICATION_TAG, 0, notification);
//    } else {
//        nm.notify(NOTIFICATION_TAG.hashCode(), notification);
//    }
//}
//
///**
// * Cancels any notifications of this type previously shown using
// * {@link #notify(Context, String, int)}.
// */
//@TargetApi(Build.VERSION_CODES.ECLAIR)
//public boolean cancel(final Context context) {
//    final NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
//    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
//        nm.cancel(NOTIFICATION_TAG, 0);
//    } else {
//        nm.cancel(NOTIFICATION_TAG.hashCode());
//    }
//    return true;
//}
}

Manifest
Кликните здесь для просмотра всего текста
Код 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
38
39
40
41
42
43
44
45
46
47
48
49
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.babygps2"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="21" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:icon="@drawable/babygps2"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 
        <receiver
            android:name=".MessageReceiver"
            android:enabled="true"
            android:exported="true" >
            <intent-filter android:priority="999" >
                <action android:name="android.provider.Telephony.SMS_RECEIVED" >
                </action>
            </intent-filter>
        </receiver>
 
        <service
            android:name=".NotificationService"
            android:enabled="true"
            android:permission="BabyGPS2"
            android:exported="true" >
        </service>
    </application>
 
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
 
</manifest>


новые темы совсем для меня,.. , поизучаю ссылку вашу...