Поскольку люди, похоже, обращаются к этому вопросу, когда речь заходит об ошибках компоновщика, я собираюсь добавить это здесь.
Одной из возможных причин ошибок компоновщика с GCC 5.2.0 является то, что новая библиотека libstdc ++ ABI теперь выбран по умолчанию.
Если вы получаете ошибки компоновщика о неопределенных ссылках на символы, которые включают типы в пространстве имен std :: __ cxx11 или теге [abi: cxx11], то это, вероятно, указывает на то, что вы пытаетесь связать файлы объектов, которые были скомпилированы с различными значениями для макроса _GLIBCXX_USE_CXX11_ABI. Это обычно происходит при подключении к сторонней библиотеке, которая была скомпилирована с более старой версией GCC. Если сторонняя библиотека не может быть перестроена с новым ABI, вам нужно будет перекомпилировать свой код со старым ABI.
blockquote>. Если вы вдруг получите ошибки компоновщика при переключении на GCC после 5.1.0 это было бы замечательно.
Ваш код нуждается в большой любви: - (
В любом случае, когда вы пытаетесь отменить сигналы тревоги в onReceive()
, вы делаете это:
Intent tempIntent = new Intent(getApplicationContext(), AlarmReceiver.class);
intent.setAction("com.x.y.ReminderAlerts.ALARMRECIEVER");
intent.addCategory("com.x.y.ReminderAlerts.ALARMRECIEVER");
intent.putExtras(bundleArray.get(i));
Вероятно, вы имеете в виду для установки ACTION, CATEGORY и дополнительных функций на tempIntent
, например:
Intent tempIntent = new Intent(getApplicationContext(), AlarmReceiver.class);
tempIntent .setAction("com.x.y.ReminderAlerts.ALARMRECIEVER");
tempIntent .addCategory("com.x.y.ReminderAlerts.ALARMRECIEVER");
tempIntent .putExtras(bundleArray.get(i));
Незначительные ошибки в коде. Не пытайтесь использовать один и тот же объект. создать другой объект.