Да, возможно, вы можете выполнить какое-то событие, если RN был убит.теперь вопрос в том, как я в основном использую реагирующую нативу, и у меня тоже есть некоторые проблемы, я также хочу выполнить какое-то событие, если RN был убит, но я не получил никакого ответа, на самом деле моя задача - открыть приложение, котороеможет и показать экран вызова при получении уведомления о вызове, поэтому я много копаю и нашел решение, сначала я создал мостовое соединение между javascript и java, а затем написал услугу wakeful, которая вызывается каждый раз, когда мы получаем уведомление, а затем япозвонить в службу фоновых намерений, и в этой службе я активирую свою активность и устанавливаю флажки, которые помогают мне открывать экран, когда экран заблокирован, в зависимости от условий
// Служба получателя //
public class MessagingService extends WakefulBroadcastReceiver {
private static final String TAG = "FirebaseService";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, String.valueOf(!isAppOnForeground(context)));
if (intent.getExtras() != null) {
if (!isAppOnForeground((context))) {
//This get called every time you receive notification
}
}
}
private boolean isAppOnForeground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
if (appProcesses == null) {
return false;
}
final String packageName = context.getPackageName();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND && appProcess.processName.equals(packageName)) {
return true;
}
}
return false;
}
}