Почему не работает Notification?(push уведомление)

250
05 февраля 2018, 05:01

Есть у меня Service класс который в какой то момент показывает PushNotification и он прописан в BroadcastReceiver.проверяю на android 4.2.2 и android 4.4.2 все работает.Еще проверил на двух аппаратах android-7 Nougat.Не сработало.И еще при установке не спрашивает разрешения (интернет,чтение-запись на sd ,GPS и.т.д) хотя они прописаны в манифесте.В чем тут дело?

метод который отображает notification :

public void soundPlay() {
        Uri uri = Uri.parse("android.resource://"+getApplicationContext().getPackageName()+"/raw/muzon");
        Intent notificationIntent = new Intent(this, Main2Activity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this,
                0, notificationIntent,
                PendingIntent.FLAG_CANCEL_CURRENT);
        Resources res = this.getResources();
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setContentIntent(contentIntent)
                .setSmallIcon(R.drawable.ic_launcher_foreground)
                .setContentTitle(namazName)
                .setContentText("TIME!!!")
                .setLargeIcon(BitmapFactory.decodeResource(res, R.drawable.ic_launcher_foreground))
                .setTicker(namazName)
                .setWhen(System.currentTimeMillis())
                .setAutoCancel(true)
                .setSound(uri) ; 
        NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(NOTIFY_ID, builder.build());
        this.onDestroy();
    }  

И метод onTaskRemoved чтобы работал на 4.4.2 KitKat

@Override
public void onTaskRemoved(Intent rootIntent) {
    Intent restartService = new Intent(getApplicationContext(),
            this.getClass());
    restartService.setPackage(getPackageName());
    PendingIntent restartServicePI = PendingIntent.getService(
            getApplicationContext(), 1, restartService,
            PendingIntent.FLAG_ONE_SHOT);
    AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
    alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 2000, restartServicePI);
    Log.e(TAG,"таск уничтожен");
}

Манифест :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<application .....>
<service            android:name="com.example.myapplication.services.TimeNotificationService"
            android:enabled="true" />
<receiver
            android:name="com.example.myapplication.services.MyBootReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
</application>
READ ALSO
Android Video chat and server

Android Video chat and server

Я хочу написать что-то типо видеочата между несколькими Android телефонамиПри этом чтобы видеопоток шел напрямую между телефонами(Клиентами),...

195
Ограничения на ввод JavaFX

Ограничения на ввод JavaFX

Здравствуйте, столкнулся с проблемой при вводе в TextField данныхНеобходимо разрешить ввод только латиницы

246
Java Thread вопрос по основам

Java Thread вопрос по основам

Только что протестил один пример, указанный ниже:

258
не могу зайти на сервера крмп [требует правки]

не могу зайти на сервера крмп [требует правки]

У меня не запускается сервера крмпЧто делать? В ютубе все видео посмотрел нечего не помогает

154