Die Benachrichtigungszeichenfolge in meiner App wird nur angezeigt, wenn das Entwicklungsgerät an USB angeschlossen ist. Sobald ich das Telefon von USB entferne, auch wenn die App geöffnet ist, wird die Nachricht in den Benachrichtigungen für meine App nicht mehr angezeigt, sie ist einfach leer, aber alles andere scheint für die Benachrichtigung zu funktionieren.Benachrichtigungen werden nur angezeigt, wenn das Gerät an USB angeschlossen ist
Ich habe keine Fehler in Logcat beim Ausführen von App in ADB, und alle anderen Parameter erfolgreich an die Benachrichtigung übergeben. Das einzige Problem ist, dass setContentText() nur funktioniert, wenn das Telefon über USB mit dem Computer verbunden ist, auch wenn Android Studio/ADB nicht läuft.
Das Dev-Gerät ist ein altes Samsung SPH-L300 (el-cheapo Virgin Handy) mit 4.1.2. Ich habe kein anderes Gerät, um es zu testen. Ich verwende Android Studio 1.5.1 als IDE.
Fehle ich irgendein manifest Element? Ich habe von einem ähnlichen Problem gehört, aber es war anders herum, wo es nur funktionierte, wenn es NICHT an USB angeschlossen war. Die Lösung dafür, das SDK Minimum und Ziel in Gradle.build zu ändern, hat mein Problem nicht gelöst (obwohl ich etwas verpasst haben könnte, als ich das versuchte).
Die Benachrichtigung einen Rundfunkempfänger unter Verwendung von einem Alarmmanager aktiviert ist .... hier ist der Code:
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);
}
Und hier ist mein 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>
Ich bin auf diesen hier gestoßen, hat jemand irgendwelche Hinweise? Danke im Voraus!!
Ihre Idee does't Arbeit. Ich benutze Deinen Code aber ändert nichts –
http://stackoverflow.com/users/7344925/ashish-shahi Das Problem lag nicht im Code, sondern in den Geräteeinstellungen. Haben Sie ein ähnliches Problem mit Benachrichtigungen? – user3716557
Ich bin Gerät wechseln –