MyFirebaseInstanceIDService
" onTokenRefresh()
"没有解雇。主要活动没有代码。我只是提到主要节日xml中的服务。
我发送代码并输出请有人建议一些解决方案。我成功连接了它们。这是图像。 。
请有人提出一些建议,以便我能克服它。
格拉德尔
:app
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.live.bbw.liveapp"
minSdkVersion 16
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:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-messaging:10.0.1'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
:项目
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
服务
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService
{
private static final String TAG = "MyFirebaseIIDService";
public static final String REGISTRATION_SUCCESS = "RegistrationSuccess";
@Override
public void onTokenRefresh() {
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.v("TEST", "Refreshed token: " + refreshedToken);
}
private void sendRegistrationToServer(String token) {
}
}
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "TEST";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//Displaying data in log
//It is optional
Log.v(TAG, "From: " + remoteMessage.getFrom());
Log.v(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
//Calling method to generate notification
sendNotification(remoteMessage.getNotification().getBody());
}
//This method is only generating a push notification
//It is same as we did in earlier posts
private void sendNotification(String messageBody) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Firebase Push Notification")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
}
输出
03-05 16:29:23.420 2526-2526/? I/PMFunc: prepare 0 com.live.bbw.liveapp
03-05 16:29:23.420 2526-2526/? I/art: Late-enabling -Xcheck:jni
03-05 16:29:23.450 2526-2526/? D/Environment: 111 rawUserId = 0
03-05 16:29:23.450 2526-2526/? D/AndroidKeyStoreProvider: overseas product
03-05 16:29:23.870 2526-2526/com.live.bbw.liveapp D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
03-05 16:29:23.960 2526-2526/com.live.bbw.liveapp D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
03-05 16:29:24.010 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 17.653ms
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp I/FA: App measurement is starting up, version: 10084
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp D/FA: Debug-level message logging enabled
03-05 16:29:24.060 2526-2526/com.live.bbw.liveapp D/FA: AppMeasurement singleton hash: 927531083
03-05 16:29:24.120 2526-2526/com.live.bbw.liveapp V/FA: Collection enabled
03-05 16:29:24.120 2526-2526/com.live.bbw.liveapp V/FA: App package, google app id: com.live.bbw.liveapp, 1:994131540882:android:f9dd91f670fe6909
03-05 16:29:24.120 2526-2526/com.live.bbw.liveapp I/FA: To enable faster debug mode event logging run:
adb shell setprop debug.firebase.analytics.app com.live.bbw.liveapp
03-05 16:29:24.200 2526-2526/com.live.bbw.liveapp V/FA: Registered activity lifecycle callback
03-05 16:29:24.210 2526-2526/com.live.bbw.liveapp I/FirebaseInitProvider: FirebaseApp initialization successful
03-05 16:29:24.220 2526-2526/com.live.bbw.liveapp I/InstantRun: starting instant run server: is main process
03-05 16:29:24.230 2526-2590/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:29:24.250 2526-2590/com.live.bbw.liveapp V/FA: Connecting to remote service
03-05 16:29:24.500 2526-2526/com.live.bbw.liveapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
03-05 16:29:24.530 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 28.247ms
03-05 16:29:24.590 2526-2526/com.live.bbw.liveapp V/FA: onActivityCreated
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:origin statusbar style
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:windowDrawsFlag set
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:IconColor=1
03-05 16:29:24.620 2526-2526/com.live.bbw.liveapp D/PhoneWindow: DEBUG_SYSTEMUI:StatusBarColor final set ff303f9f
03-05 16:29:25.020 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 16.817ms
03-05 16:29:25.020 2526-2590/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:29:25.020 2526-2590/com.live.bbw.liveapp V/FA: Connection attempt already in progress
03-05 16:29:25.020 2526-2590/com.live.bbw.liveapp V/FA: Activity resumed, time: 195978479
03-05 16:29:25.040 2526-2526/com.live.bbw.liveapp I/ViewRootImpl: CPU Rendering VSync enable = true
03-05 16:29:25.040 2526-2653/com.live.bbw.liveapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
03-05 16:29:25.050 2526-2526/com.live.bbw.liveapp D/Atlas: Validating map...
03-05 16:29:25.130 2526-2653/com.live.bbw.liveapp I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8916_32_LA.BR.1.1.3.C14__release_AU (Ic4528faa6f)
OpenGL ES Shader Compiler Version: E031.25.03.04
Build Date: 06/14/16 Tue
Local Branch: mybranch20312125
Remote Branch: quic/LA.BR.1.1.3.c14_1
Local Patches: NONE
Reconstruct Branch: NOTHING
03-05 16:29:25.130 2526-2653/com.live.bbw.liveapp I/OpenGLRenderer: Initialized EGL, version 1.4
03-05 16:29:25.150 2526-2653/com.live.bbw.liveapp D/OpenGLRenderer: Enabling debug mode 0
03-05 16:29:25.300 2526-2526/com.live.bbw.liveapp W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
03-05 16:29:25.330 2526-2590/com.live.bbw.liveapp D/FA: Connected to remote service
03-05 16:29:25.330 2526-2590/com.live.bbw.liveapp V/FA: Processing queued up service tasks: 2
03-05 16:29:25.340 2526-2526/com.live.bbw.liveapp I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@27de329c time:70826474
03-05 16:29:29.885 2526-2590/com.live.bbw.liveapp V/FA: Inactivity, disconnecting from the service
03-05 16:29:34.505 2526-2590/com.live.bbw.liveapp V/FA: Session started, time: 195988506
03-05 16:29:34.505 2526-2590/com.live.bbw.liveapp I/FA: Tag Manager is not found and thus will not be used
03-05 16:29:34.515 2526-2590/com.live.bbw.liveapp D/FA: Logging event (FE): _s, Bundle[{_o=auto, _sc=MainActivity, _si=3883244167549912924}]
03-05 16:29:34.545 2526-2590/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:29:34.545 2526-2590/com.live.bbw.liveapp V/FA: Connecting to remote service
03-05 16:29:34.555 2526-2590/com.live.bbw.liveapp D/FA: Connected to remote service
03-05 16:29:34.555 2526-2590/com.live.bbw.liveapp V/FA: Processing queued up service tasks: 1
03-05 16:29:39.595 2526-2590/com.live.bbw.liveapp V/FA: Inactivity, disconnecting from the service
03-05 16:34:21.528 2526-11478/com.live.bbw.liveapp V/FA: Recording user engagement, ms: 297023
03-05 16:34:21.528 2526-11478/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:34:21.528 2526-11478/com.live.bbw.liveapp V/FA: Connecting to remote service
03-05 16:34:21.548 2526-11478/com.live.bbw.liveapp V/FA: Activity paused, time: 196275492
03-05 16:34:21.548 2526-11478/com.live.bbw.liveapp D/FA: Logging event (FE): _e, Bundle[{_o=auto, _et=297023, _sc=MainActivity, _si=3883244167549912924}]
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp V/FA: Using measurement service
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp V/FA: Connection attempt already in progress
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp D/FA: Connected to remote service
03-05 16:34:21.638 2526-11478/com.live.bbw.liveapp V/FA: Processing queued up service tasks: 2
03-05 16:34:26.368 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 7.783ms
03-05 16:34:26.708 2526-11478/com.live.bbw.liveapp V/FA: Inactivity, disconnecting from the service
03-05 16:34:28.408 2526-2536/com.live.bbw.liveapp W/art: Suspending all threads took: 27.545ms
03-05 16:34:30.328 2526-2526/com.live.bbw.liveapp D/FA: Service connection suspended
03-05 16:34:30.338 2526-2526/com.live.bbw.liveapp D/FA: Service connection suspended
03-05 16:34:30.338 2526-2526/com.live.bbw.liveapp D/FA: Service connection suspended
感谢你 Jit Dasgupta
答案 0 :(得分:1)
每当生成新令牌时都会触发onTokenRefreshcallback
注册令牌可能会在以下情况下发生变化:
因此,如果您正在调试手机中的应用,onTokenRefresh()
将不会被呼叫,除非出现上述情况之一。
更多信息:
https://firebase.google.com/docs/cloud-messaging/android/client