Ich möchte eine Notification an das Android Auto schicken, aber auf der Android Seite steht nur "Build and send a specific type of notification for display on Auto devices". Ich bin ein Anfänger im Bereich Notifications, aber was ist damit gemeint? Also was muss man im vergleich zu einer normalen Notification ändern, um ans DHU zu senden?
Notifications an das Android Auto schicken(DHU)
-
-
Mit dem Auto dhu kenne ich nicht viel aus. Was hast du bis jetzt von welcher Seite spricht du. So wie ich es weiß must du dafür einen pentingintent benutzen.
-
Mit dem Auto dhu kenne ich nicht viel aus. Was hast du bis jetzt von welcher Seite spricht du. So wie ich es weiß must du dafür einen pentingintent benutzen.
https://developer.android.com/…auto/messaging/index.html
Von dieser Seite. Ich bin leider ein Anfänger auf dem Gebiet Notification deshalb verstehe ich nicht was von mir verlangt wird. -
Hallo auf der von Dir genanten Seite wird es eigentlich recht gut beschrieben. Bin auch kein Englisch Meister mit den Beispielen müsste es zu schaffen sein. Hast du schon mal eine Notification für dein Handy gemacht?
Zeige mal den Code den du bis jetz hast.
Hast du auch dein Manifest angepast und die Support Libaray eingebunden? -
Hallo
hier ein paar Links für eine normale Notification.https://developer.android.com/…p/NotificationCompat.html
https://developer.android.com/…cationCompat.Builder.htmlExterner Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Wenn du dir das erstmal etwas verinnerlichst wird der Unterschied zum "conversation builder" nicht mer so schwer sein.
-
Ich bin jetzt bei folgendem aber die Notification erscheint nur auf dem Handy.
Java
Alles anzeigenpublic static void sendCarNotification(Context c, String title, String message) { Notification.Builder mBuilder = new Notification.Builder(c) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle(title) .setContentText(message) .extend(new Notification.CarExtender().setColor(c.getResources().getColor(R.color.bars))); Intent resultIntent = new Intent(c, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(c); stackBuilder.addParentStack(MainActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); NotificationManager mNotificationManager = (NotificationManager) c.getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(1, mBuilder.build()); }
-
Hey dafür must du den "NotificationCompat.Builder" benutzen, wie er auf der Seite von dir beschrieben wird.
https://developer.android.com/…auto/messaging/index.html -
Hey dafür must du den "NotificationCompat.Builder" benutzen, wie er auf der Seite von dir beschrieben wird.
https://developer.android.com/…auto/messaging/index.htmlMuss ich eine unread conversation anhängen?
Ich möchte schließlich nur eine Art normale notification anzeigen. -
in etwa so
Code
Alles anzeigenpublic static void sendCarNotification(Context c, String title, String message) { Intent resultIntent = new Intent(c, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(c); stackBuilder.addParentStack(MainActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.CarExtender.UnreadConversation.Builder unreadConvBuilder = new NotificationCompat.CarExtender.UnreadConversation.Builder("TestAndroidAuto") .setReadPendingIntent(resultPendingIntent) //.setReplyAction(msgReplyPendingIntent, remoteInput) ; unreadConvBuilder.addMessage(message); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(c) .setSmallIcon(R.mipmap.ic_launcher) //.setLargeIcon(largeIconBitmap) .setContentTitle(title) ; mBuilder.extend(new NotificationCompat.CarExtender() .setUnreadConversation(unreadConvBuilder.build())); NotificationManagerCompat msgNotificationManager = NotificationManagerCompat.from(c); msgNotificationManager.notify(1, mBuilder.build()); }
-
in etwa so
Code
Alles anzeigenpublic static void sendCarNotification(Context c, String title, String message) { Intent resultIntent = new Intent(c, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(c); stackBuilder.addParentStack(MainActivity.class); stackBuilder.addNextIntent(resultIntent); PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); NotificationCompat.CarExtender.UnreadConversation.Builder unreadConvBuilder = new NotificationCompat.CarExtender.UnreadConversation.Builder("TestAndroidAuto") .setReadPendingIntent(resultPendingIntent) //.setReplyAction(msgReplyPendingIntent, remoteInput) ; unreadConvBuilder.addMessage(" Hallo das ist die Nachricht");
Ich erhalte folgenden error.
http://prntscr.com/gdloqv
Soll ich einfach den Wert umwandeln? -
habe den code noch etwas erweitert
-
denke ja ich benutze immer die Support Lib V4
-
habe den code noch etwas erweitert
Ich hab deinen neuen Code angewendet. Und hab bei mir dazu noch alles auf Compat geändert doch es passiert immer noch nichts beim Auto nur beim Handy
-
hast du auch dein Mainifest angepast und die support Lib geladen so wie in der Anleitung.
poste mal dein Manifest und build.cradel -
hast du auch dein Mainifest angepast und die support Lib geladen so wie in der Anleitung.
poste mal dein Manifest und build.cradelCode: AndroidManifest.xml
Alles anzeigen<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.mysticsouls.wseminar"> <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> <meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc" /> <activity android:name=".list.addNewListItem" android:parentActivityName=".MainActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity> </application> </manifest>
Code: build.gradle
Alles anzeigen<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.mysticsouls.wseminar"> <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> <meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc" /> <service android:name=".MessageCar" /> <receiver android:name=".MessageReadReceiver"> <intent-filter> <action android:name="net.mysticsouls.wseminar.ACTION_MESSAGE_READ" /> </intent-filter> </receiver> <receiver android:name=".MessageReplyReceiver"> <intent-filter> <action android:name="net.mysticsouls.wseminar.ACTION_MESSAGE_REPLY" /> </intent-filter> </receiver> <receiver android:name=".essentials.OfflineUpdaterTrigger" android:process=":remote" > </receiver> <service android:name=".essentials.OfflineUpdate" android:exported="false" /> <activity android:name=".list.addNewListItem" android:parentActivityName=".MainActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity> <activity android:name=".list.ShowItems" android:parentActivityName=".MainActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity> <activity android:name=".list.ShowListItemCloser" android:label="@string/title_activity_show_list_item_closer" android:theme="@style/AppTheme"></activity> </application> </manifest>
-
Das zweite ist nicht das build.cradel dort solte bei dependencies stehen.
dependencies {
...
compile 'com.android.support:support-v4:21.0.2'
}Und das XML File unter "res/xml/automotive_app_desc.xml" hast du auch?
<automotiveApp>
<uses name="notification"/>
</automotiveApp> -
wie testest du ? mit einen echten Auto?
https://www.computerbase.de/20…-display-fuer-entwickler/ -
Hier mein Projekt. Bei mir läuft es.
-
Das zweite ist nicht das build.cradel dort solte bei dependencies stehen.
dependencies {
...
compile 'com.android.support:support-v4:21.0.2'
}Und das XML File unter "res/xml/automotive_app_desc.xml" hast du auch?
<automotiveApp>
<uses name="notification"/>
</automotiveApp>Äh sorry da ist etwas beim kopieren falsch gelaufen!
Code
Alles anzeigenapply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "25.0.2" defaultConfig { applicationId "net.mysticsouls.wseminar" minSdkVersion 24 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:support-v4:24.2.1' compile 'com.android.support:support-v13:21.0.2' compile 'com.android.support:design:25.2.0' testCompile 'junit:junit:4.12' }
wie testest du ? mit einen echten Auto?
https://www.computerbase.de/20…-display-fuer-entwickler/Ne ich benutze einmal den "Emulator des DHU" und ein Galaxy S8
-
Hi bei mir geht es mit dem emulator und dem Projekt was ich bereit Gestell habe.
Ich benutze nur de emulator dort habe ich die zwei Apps unter Extras googel Simulator installiert. Das Handy brauchst du nur mit einem echtem Auto
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!