Уведомление Android Служба слушателя начинается сама по себеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Уведомление Android Служба слушателя начинается сама по себе

Сообщение Anonymous »

Я пытаюсь сделать приложение, которое получает все уведомления и выполняет задачу. Но моя проблема заключается в том, что сервис NotifyCationListener начинается автоматически, даже я не звонил в службу старта. Он начинается, как только я разрешу доступ к приложению на моем телефоне. Так что обслуживание как -то начинается, и я не могу остановить это. Я уже пробую простые услуги, которые они работают правильно. Но этот с NotificationListener действительно болезнен. I just want to start and stop this service by my command.

Service start by itself when I allow this (screenshot)

Изображение


mainActivity < /h2>

package com.example.alperen.nservice2;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

Button startB,stopB;
Intent intent;
int count=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

startB=(Button)findViewById(R.id.button);
stopB=(Button)findViewById(R.id.button2);

startB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

intent = new Intent(MainActivity.this,MyService.class);
startService(intent);
}
});

stopB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
stopService(intent);
}
});

}
}
< /code>

myservice class < /h2>

package com.example.alperen.nservice2;

import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;
import android.support.annotation.Nullable;
import android.util.Log;
import android.widget.Toast;

public class MyService extends NotificationListenerService{

@Override
public void onCreate() {
super.onCreate();
System.out.println("********* SERVICE STARTED ***********");
}

@Override
public void onNotificationPosted(StatusBarNotification sbn) {

System.out.println("***** notification *****");
String pack,title,text;
Bundle extras;

try {
pack = sbn.getPackageName();
extras = sbn.getNotification().extras;
title = extras.getString("android.title").toString();
text = extras.getCharSequence("android.text").toString();
}catch (Exception e)
{
System.out.println("**** HATA NOTIFYSERVICE CLASS ****");
pack="empty1";
title="empty1";
text="empty1";
System.out.println("**** "+pack+" ****");
}

Log.i("Package",pack);
Log.i("Title",title);
Log.i("Text",text);

Toast.makeText(this,"title: "+title+" text: "+text,Toast.LENGTH_LONG).show();
}

@Override
public void onDestroy() {
System.out.println("***** destroyed *****");
super.onDestroy();
}
}
< /code>

androidmanifest.xml


















>


< /code>

< /p>

и сложная часть в манифесте. Когда я удаляю часть фильтра и запускаю приложение. Он больше не хочет уведомлять доступ и не начинается сама по себе. Я могу начать и остановить обслуживание с MainActivity с кнопками. Но на этот раз приложение не получает уведомление. < /P>

// just delete this lines





Подробнее здесь: https://stackoverflow.com/questions/514 ... -by-itself
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»