android - 启动时同一类崩溃应用程序中的 Firebasemessaging 和 Firebasedatabase?
问题描述
有没有人在同一活动中成功使用 firebasedatabase 和 firebasemessaging ?我有两个独立工作的项目,但是一旦我DatabaseReference myRef = database.getReference();
在MainActivity
(已经实例化firebasemessaging的项目中)添加一个,我的应用程序在启动时就会崩溃。
我在网上看了看,找不到任何提示……:(
这是主要的活动代码:
package com.google.firebase.quickstart.fcm.java;
import -> all imports removed for smaller post.
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
final DatabaseReference ring = myRef.child("mykey");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "Starting MainActivity...");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Log.d(TAG, "HERE???...");
// Create channel to show notifications.
String channelId = getString(R.string.default_notification_channel_id);
String channelName = getString(R.string.default_notification_channel_name);
NotificationManager notificationManager =
getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(new NotificationChannel(channelId,
channelName, NotificationManager.IMPORTANCE_HIGH));
}
/// subscribing by default to all channel.
Log.d(TAG, "Subscribing to all topic...");
// [START subscribe_topics]
FirebaseMessaging.getInstance().subscribeToTopic("all");
// Handle possible data accompanying notification message.
// [START handle_data_extras]
if (getIntent().getExtras() != null) {
for (String key : getIntent().getExtras().keySet()) {
Object value = getIntent().getExtras().get(key);
Log.d(TAG, "Key: " + key + " Value: " + value);
}
}
// [END handle_data_extras]
Button subscribeButton = findViewById(R.id.subscribeButton);
subscribeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Subscribing to all topic");
// [START subscribe_topics]
FirebaseMessaging.getInstance().subscribeToTopic("all")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
String msg = getString(R.string.msg_subscribed);
if (!task.isSuccessful()) {
msg = getString(R.string.msg_subscribe_failed);
}
Log.d(TAG, msg);
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
}
});
// [END subscribe_topics]
}
});
}
}
在 logCat 我得到:
2019-07-10 01:04:03.139 1364-3739/? I/ActivityManager:启动 u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.firebase.quickstart.fcm/.java.MainActivity bnds=[32 ,1101][235,1410]} 来自 uid 10072 pid 22480 2019-07-10 01:04:03.144 603-603/? W/hwservicemanager:getTransport:在框架或设备清单中找不到条目 vendor.qti.hardware.iop@2.0::IIop/default。2019-07-10 01:04:03.144 1364-3739/? E/ANDR-PERF-JNI:Iop tryGetService 失败 2019-07-10 01:04:03.150 1364-3739/?D/ActivityTrigger: activityStartTrigger: Activity 在全屏 ApplicationInfo{a048f56 com.google.firebase.quickstart.fcm} 2019-07-10 01:04:03.150 1364-3739/? E/ActivityTrigger:activityStartTrigger:不是 whiteListedcom.google.firebase.quickstart.fcm/com.google.firebase。quickstart.fcm.java.MainActivity/1 2019-07-10 01:04:03.150 1364-3739/? D/ActivityTrigger:activityResumeTrigger:ApplicationInfo{a048f56 com.google.firebase.quickstart.fcm} 中的活动现在处于焦点位置,似乎处于全屏模式 2019-07-10 01:04:03.150 1364-3739/?E/ActivityTrigger:activityResumeTrigger:not whiteListedcom.google.firebase.quickstart.fcm/com.google.firebase.quickstart.fcm.java.MainActivity/1 2019-07-10 01:04:03.150 1364-3739/?D/ActivityTrigger: ActivityTrigger activityPauseTrigger 2019-07-10 01:04:03.153 22480-22480/? D/BaseDraggingActivity: startActivity 记账意图 = Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.firebase.quickstart.fcm/.java.MainActivity bnds =[32,1101][235,1410] } 2019-07-10 01:04:03。153 22480-22480/? D/Stats:Intent.getPackage() 为空。因此尝试从 componentName.getPackageName() 获取包名:com.google.firebase.quickstart.fcm 2019-07-10 01:04:03.154 22480-22480/? D/Stats:Intent.getPackage() 为空。因此尝试从 componentName.getPackageName() 获取包名称:com.google.firebase.quickstart.fcm 2019-07-10 01:04:03.154 22480-25599/? D/Stats:在后台保存统计信息... 2019-07-10 01:04:03.154 22480-22480/? D/ItemClickHandler: onClick app, tag = AppInfo(id=-1 type=APP container=-1 screen=-1 cell(-1,-1) span(1,1) minSpan(1,1) rank=0 user =UserHandle{0} title=Firebase 云消息传递 hidden=falsedirty = false newInstallTag=null componentName=ComponentInfo{com.google.firebase.quickstart.fcm/com.google.firebase.quickstart.fcm.java. MainActivity} searchResult=null 建议App=null) 2019-07-10 01:04:03.154 22480-25599/? D/GridItemProvider:saveStatToFile:未安装包 %s。跳过它。ComponentInfo{com.microsoft.office.outlook/com.microsoft.office.outlook.MainActivity} 2019-07-10 01:04:03.155 22480-22480/? D/启动器:onPause# 哈希码:22657230 2019-07-10 01:04:03.156 22480-11989/? V/FA:记录用户参与度,毫秒:8506 2019-07-10 01:04:03.156 22480-11989/? V/FA: 连接远程服务 2019-07-10 01:04:03.157 22480-22507/? I/WeatherProvider:取消订阅天气回调:2019-07-10 01:04:03.157 1364-3744/? D/ActivityTrigger:activityResumeTrigger:ApplicationInfo{a048f56 com.google.firebase.quickstart.fcm} 中的活动现在处于焦点位置,似乎处于全屏模式 2019-07-10 01:04:03。157 1364-3744/? E/ActivityTrigger:activityResumeTrigger:not whiteListedcom.google.firebase.quickstart.fcm/com.google.firebase.quickstart.fcm.java.MainActivity/1 2019-07-10 01:04:03.158 1364-1411/?D/RestartProcessManager:更新总启动时间:com.google.firebase.quickstart.fcm 2019-07-10 01:04:03.158 1364-1411/? D/RestartProcessManager:updateSelf:com.google.firebase.quickstart.fcm,大小:30 2019-07-10 01:04:03.158 1364-1411/? D/RestartProcessManager:增加总启动时间:com.google.firebase.quickstart.fcm,次数:6,索引:29 2019-07-10 01:04:03.158 1364-1411/?D/RestartProcessManager:上次运行包:com.google.firebase.quickstart.fcm,开始时间1562713443158 2019-07-10 01:04:03.158 22480-11989/? V/FA:活动暂停,时间:45839580 2019-07-10 01:04:03.159 22480-11989/? 日/法:记录事件 (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto,engagement_time_msec(_et)=8506, firebase_screen_class(_sc)=Launcher, firebase_screen_id(_si)=8729914221436155707}] .... 2019-07 -10 01:04:03.661 1364-1364/? V/SettingsProvider: 通知 0: content://settings/system/game_mode_status_auto 2019-07-10 01:04:03.661 12098-12098/? I/.quickstart.fc:拒绝重新初始化先前失败的类 java.lang.Class:java.lang.NoClassDefFoundError:解析失败:Lcom/google/firebase/FirebaseApp$IdTokenListener;2019-07-10 01:04:03.661 12098-12098/? I/.quickstart.fc:在 com.google.firebase.database.core.AuthTokenProvider com.google.firebase.database.android.AndroidPlatform.newAuthTokenProvider(java.util.concurrent.ScheduledExecutorService) (com.google.firebase:firebase-数据库@@16.0.4:112) 2019-07-10 01:04:03.661 12098-12098/? I/.quickstart.fc: at void com.google.firebase.database.core.Context.ensureAuthTokenProvider() (com.google.firebase:firebase-database@@16.0.4:246) 2019-07-10 01:04 :03.661 12098-12098/? I/.quickstart.fc: at void com.google.firebase.database.core.Context.initServices() (com.google.firebase:firebase-database@@16.0.4:98) 2019-07-10 01:04 :03.661 12098-12098/? I/.quickstart.fc: 在 void com.google.firebase.database.core.Context.freeze() (com.google.firebase:firebase-database@@16.0.4:77) 2019-07-10 01:04 :03.661 12098-12098/? I/.quickstart.fc:在 com.google.firebase.database.core.Repo com.google.firebase.database.core.RepoManager.createLocalRepo(com.google.firebase.database.core.Context, com.google.firebase .database.core.RepoInfo,com.google.firebase.database。FirebaseDatabase) (com.google.firebase:firebase-database@@16.0.4:92) 2019-07-10 01:04:03.661 12098-12098/? I/.quickstart.fc:在 com.google.firebase.database.core.Repo com.google.firebase.database.core.RepoManager.createRepo(com.google.firebase.database.core.Context, com.google.firebase .database.core.RepoInfo, com.google.firebase.database.FirebaseDatabase) (com.google.firebase:firebase-database@@16.0.4:42) 2019-07-10 01:04:03.661 12098-12098/? I/.quickstart.fc:在 void com.google.firebase.database.FirebaseDatabase.ensureRepo() (com.google.firebase:firebase-database@@16.0.4:357) 2019-07-10 01:04:03.661 12098-12098/? I/.quickstart.fc:在 com.google.firebase.database.DatabaseReference com.google.firebase.database.FirebaseDatabase.getReference() (com.google.firebase:firebase-database@@16.0.4:188) 2019- 07-10 01:04:03。661 12098-12098/? I/.quickstart.fc: 在 void com.google.firebase.quickstart.fcm.java.MainActivity.() (MainActivity.java:58) 2019-07-10 01:04:03.661 12098-12098/?I/.quickstart.fc:在 java.lang.Object java.lang.Class.newInstance() (Class.java:-2)
解决方案
推荐阅读
- java - 为什么我在使用 Spring Boot Application 的邮递员中没有收到错误消息
- python - 使用 Python 为错误电子邮件设置非登录 SMTP 服务器时出现套接字错误
- c - 为什么等号移位打印出与不等情况相反的不同结果?
- python - 检查列表中是否存在函数输出,然后添加到另一个列表
- json - 无法在 Angular 中显示来自 JSON API 的图像
- syntax - 这是什么 Visual Basic 语法(开始/结束,无类)?
- reactjs - React Native:如何聚焦包装在自定义组件中的 TextInput?
- sql - SQL:合并结果
- python - 检测图像中的水平线
- hadoop - 如何在 Hive 中创建 Fact 表并用键(id)值替换表中的原始值