Строка уведомляющего сообщения в моем приложении показывает, только если устройство разработки подключено к USB. Как только я отключу телефон от USB, даже при открытии приложения уведомления для моего приложения больше не показывают сообщение, оно просто пустое, но все остальное, похоже, отлично работает для уведомления.уведомление только показывает, когда устройство подключено к USB
У меня нет ошибок в logcat при запуске приложения в ADB, и все остальные параметры успешно передаются в уведомление. Единственная проблема заключается в том, что setContentText() работает только в том случае, если телефон подключен к компьютеру через USB, даже если Android Studio/ADB не работает.
Устройство разработчика - старый Samsung SPH-L300 (мобильный телефон el-cheapo Virgin), работающий на 4.1.2. У меня нет другого устройства для тестирования. Я использую Android Studio 1.5.1 в качестве среды IDE.
У меня отсутствует элемент манифеста? Я слышал о подобной проблеме, но это было наоборот, где она работала только, когда НЕ подключалась к USB. Решение этого вопроса, заключающееся в том, чтобы изменить минимальный SDK и целевой объект в gradle.build, не решило мою проблему (хотя, я мог пропустить что-то при попытке).
Уведомление активируется с помощью широковещательного приемника от менеджера сигнализации .... вот код:
package com.example.notificationApp;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
public class AlarmReceiver extends BroadcastReceiver {
public AlarmReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
// get the info needed to identify this specific reminder...
Bundle bundle = intent.getExtras()
int alarmID = bundle.getInt("reminderID");
Intent returnIntent = new Intent(context, HomeActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(context, alarmID, returnIntent, 0);
Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
// make vibrate pattern...
long[] pattern = {500,500,500,500,500,500,500,500,500};
Notification notify = new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher)
.setTicker("Appointment reminder")
.setContentTitle("Reminder...")
.setContentText("TEST TEXT")
.setSound(alarmUri)
.setLights(Color.BLUE, 500, 500)
.setVibrate(pattern)
.setContentIntent(pIntent)
.setAutoCancel(true)
.build();
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(alarmID, notify);
}
А вот мой Manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.notificationApp">
<!-- Permission to start Alarm on device reboot -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="23" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".HomeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".AutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<receiver android:name=".CheckAlarmReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<receiver android:name=".AlarmReceiver" />
<!--
ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information.
-->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
Я в тупике на этом, у кого есть какие-то подсказки? Заранее спасибо!!
Ваша идея does't работы. Я использую ваш код Но ничего не меняет –
http://stackoverflow.com/users/7344925/ashish-shahi Проблема не в коде, а в настройках устройства. Вы испытываете аналогичную проблему с уведомлениями? – user3716557
Я меняю устройство –