Я пишу приложение, которое будет реализовать запланированные тревоги, которые имеют проблемы в классе приемника. Метод вызовет другой метод в MainActivity . Это делается путем создания интерфейса и с пустым методом, так что OnReCeive () может вызвать метод одного и того же имени в MainActivity.
Наконец, метод onReceive () будет решать, будет ли отправлено уведомление в зависимости от результата метода из MainActivity , но в соответствии с IT -Scricing, но в соответствии с Its Ipt, но в соответствии с IT -Scricing, но в соответствии с IT -Scricing, но в соответствии с IT -Scrisif Its It's OT, но в соответствии с IT -Scricing. ошибка < /p>
Process: com.example.sahelper, PID: 5930
java.lang.RuntimeException: Unable to instantiate receiver com.example.sahelper.alarm.AlarmReceiver: java.lang.InstantiationException: java.lang.Class has no zero argument constructor
< /code>
вот мой MainActivity < /p>
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// AlarmController is used to schedule alarm
AlarmController alarmController =
new AlarmController(MainActivity.this, MainActivity.this);
alarmController.new_test_alarm(); // schedule an alarm
}
// This method is supposed to be called by interface
@Override
public void check_duty()
{
// Do something here...
// Do something here...
// Do something here...
}
< /code>
вот мой сигнал calmercontroller.java < /p>
// Constructor
public AlarmController(Activity activity, Context context)
{
this.myactivity = activity;
this.mycontext = context;
}
public void new_test_alarm()
{
// Some codes here...
// Some codes here...
// Some codes here...
Intent intent = new Intent(myactivity, AlarmReceiver.class);
intent.setAction(SECOND_DEADLINE_ALARM_RECEIVE_ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
mycontext,
Integer.parseInt(it.getKey()), // Here is the noti_id
intent,
FLAG_MUTABLE);
AlarmManager alarmManager = (AlarmManager) myactivity.getSystemService
(Context.ALARM_SERVICE);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,
(System.currentTimeMillis() + 10 * 1000),
pendingIntent);
}
< /code>
Вот мой интерфейс < /p>
public interface Receiver_MainActivity_Interface
{
public void check_duty();
}
< /code>
И, наконец, вот мой класс приемника < /p>
public class AlarmReceiver extends BroadcastReceiver
{
private Receiver_MainActivity_Interface mylistener;
public AlarmReceiver(Receiver_MainActivity_Interface listener)
{
this.mylistener = listener;
}
@Override
public void onReceive(Context context, Intent intent)
{
if (Objects.equals(intent.getAction(), SECOND_DEADLINE_ALARM_RECEIVE_ACTION))
{
mylistener.check_duty();
// And some codes here continue...
// And some codes here continue...
// And some codes here continue...
}
}
}
< /code>
Я подчиняю проблему, возникающая из «intent intent = new intent (myactivity, armereceiver.class);»; как параметр должен быть передан в класс AlarmeReceiver. Но как мне передать интерфейс как переменную, когда я определяю намерение? < /P>
Что мне сделать, чтобы решить проблему? Любое предложение приветствуется.
edit
я не могу и не думаю, что можно перемещать пустоту внутри MainActivity в класс On -receive, потому что эта пустота включает в себя некоторые элементы, объявленные (веб -обзор) в MainActivity.
Подробнее здесь: https://stackoverflow.com/questions/792 ... iver-class
Ошибка конструктора нуля аргумента в классе приемника ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1758707931
Anonymous
Я пишу приложение, которое будет реализовать запланированные тревоги, которые имеют проблемы в классе приемника. Метод вызовет другой метод в MainActivity . Это делается путем создания интерфейса и с пустым методом, так что OnReCeive () может вызвать метод одного и того же имени в MainActivity.
Наконец, метод onReceive () будет решать, будет ли отправлено уведомление в зависимости от результата метода из MainActivity , но в соответствии с IT -Scricing, но в соответствии с Its Ipt, но в соответствии с IT -Scricing, но в соответствии с IT -Scricing, но в соответствии с IT -Scrisif Its It's OT, но в соответствии с IT -Scricing. ошибка < /p>
Process: com.example.sahelper, PID: 5930
java.lang.RuntimeException: Unable to instantiate receiver com.example.sahelper.alarm.AlarmReceiver: java.lang.InstantiationException: java.lang.Class has no zero argument constructor
< /code>
вот мой MainActivity < /p>
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// AlarmController is used to schedule alarm
AlarmController alarmController =
new AlarmController(MainActivity.this, MainActivity.this);
alarmController.new_test_alarm(); // schedule an alarm
}
// This method is supposed to be called by interface
@Override
public void check_duty()
{
// Do something here...
// Do something here...
// Do something here...
}
< /code>
вот мой сигнал calmercontroller.java < /p>
// Constructor
public AlarmController(Activity activity, Context context)
{
this.myactivity = activity;
this.mycontext = context;
}
public void new_test_alarm()
{
// Some codes here...
// Some codes here...
// Some codes here...
Intent intent = new Intent(myactivity, AlarmReceiver.class);
intent.setAction(SECOND_DEADLINE_ALARM_RECEIVE_ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
mycontext,
Integer.parseInt(it.getKey()), // Here is the noti_id
intent,
FLAG_MUTABLE);
AlarmManager alarmManager = (AlarmManager) myactivity.getSystemService
(Context.ALARM_SERVICE);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,
(System.currentTimeMillis() + 10 * 1000),
pendingIntent);
}
< /code>
Вот мой интерфейс < /p>
public interface Receiver_MainActivity_Interface
{
public void check_duty();
}
< /code>
И, наконец, вот мой класс приемника < /p>
public class AlarmReceiver extends BroadcastReceiver
{
private Receiver_MainActivity_Interface mylistener;
public AlarmReceiver(Receiver_MainActivity_Interface listener)
{
this.mylistener = listener;
}
@Override
public void onReceive(Context context, Intent intent)
{
if (Objects.equals(intent.getAction(), SECOND_DEADLINE_ALARM_RECEIVE_ACTION))
{
mylistener.check_duty();
// And some codes here continue...
// And some codes here continue...
// And some codes here continue...
}
}
}
< /code>
Я подчиняю проблему, возникающая из «intent intent = new intent (myactivity, armereceiver.class);»; как параметр должен быть передан в класс AlarmeReceiver. Но как мне передать интерфейс как переменную, когда я определяю намерение? < /P>
Что мне сделать, чтобы решить проблему? Любое предложение приветствуется.
[b] edit [/b]
я не могу и не думаю, что можно перемещать пустоту внутри MainActivity в класс On -receive, потому что эта пустота включает в себя некоторые элементы, объявленные (веб -обзор) в MainActivity.
Подробнее здесь: [url]https://stackoverflow.com/questions/79260351/zero-argument-constructor-error-in-the-receiver-class[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия