Кому-нибудь удалось использовать базу данных firebase & 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]
}
});
}
}
в журнале. Я получаю:
2019-07-10 01: 04: 03.139 1364-3739 /? I / ActivityManager: START 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: Активность запускается в полноэкранном режиме 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: не белыйListedcom.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 бухгалтерское намерение = намерение {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 () имеет значение null.поэтому попробуйте получить имя пакета из componentName.getPackageName (): com.google.firebase.quickstart.fcm 2019-07-10 01: 04: 03.154 22480-22480 /?D / Stats: Intent.getPackage () имеет значение null.поэтому попробуйте получить имя пакета из 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, тег = AppInfo (id = -1 тип = контейнер APP = -1 экран = -1 ячейка (-1, -1) span (1,1) minSpan (1,1) rank = 0 пользователь= UserHandle {0} title = Firebase Cloud Messaging скрыто = false dirty = false newInstallTag = null componentName = ComponentInfo {com.google.firebase.quickstart.fcm / com.google.firebase.quickstart.fcm.java.MainActivity} searchResult = nulloffertionApp = 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 / Launcher: 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: не whiteListedcom.google.firebase.quickstart.fcm / com.google.firebase.quickstart.fcm.java.MainActivity / 12019-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 /?D / FA: Событие записи в журнал (FE): user_engagement (_e), Bundle [{firebase_event_origin (_o) = auto, engagement_time_msec (_et) = 8506, firebase_screen_class (_sc) = Launcher, firebase_screen_id (_si) = 872991470213662019-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: at com.google.firebase.database.core.AuthTokenProvider com.google.firebase.database.android.AndroidPlatform.newAuthTokenProvider (java.util.concurrent.ScheduledExecutorService) (com.google.firebaseb:база данных @@ 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: в 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: at 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: at void com.google.firebase.database.FirebaseDatabase.ensureRepo () (com.google.firebase: firebase-database @@ 16.0.4: 357) 2019-07-10 01: 04: 03.66112098-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: at 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)