Итак, у меня есть этот код ошибки: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
Строка: Intent callMode = new Intent(MainActivity.this, IncallActivity.class);
Я пытаюсь установить новое действие, когда я получаю вызов. Следующая функция - это то, что должно «переключиться» на это действие.
public void callMode() {
Intent callMode = new Intent(MainActivity.this, IncallActivity.class);
startActivity(callMode);
}
И оно находится внутри класса MainActivity, вне функции onCreate. Когда я пытаюсь поместить его в функцию onCreate (без public void callMode()
, конечно), он работает, но это не цель.
Я пытаюсь активировать это новое действие из другого класса, который прослушивает звонки.
public class CallReceiver extends BroadcastReceiver {
IncallActivity incallActivity = new IncallActivity();
public MainActivity mainActivity;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
mainActivity.callMode();
} else if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_IDLE)) {
incallActivity.endCallMode();
}
}
}
Так почему появляется эта ошибка?