ANDROID — Как получить доступ к другому классу из другого класса?

#android #android-broadcastreceiver

#Android #android-broadcastreceiver

Вопрос:

У меня есть MapView.java , в котором он запрашивает разрешение на SMS, разрешение на местоположение и т.д. Я создал новый класс Java для SMSReceiver , который расширяется BroadcastReceiver и имеет onReceive метод.

Проблема в том, что я не могу решить, как я буду вызывать SMSReceiver класс в свой MapView.Java . Кто-нибудь может мне помочь?

Комментарии:

1. Вам нужно будет передать класс SMSReceiver, используя Intent.

2. Вам просто нужно зарегистрировать свой SMSReceiver в вашем классе MapView. Смотрите developer.android.com/guide/components/broadcasts

Ответ №1:

Попробуйте это.

Надеюсь, это поможет!

 registerReceiver(mySMSBroadcastReceiver, new IntentFilter(SmsRetriever.SMS_RETRIEVED_ACTION));
  

Комментарии:

1. Написано «Не удается запустить activity ComponentInfo»

2. Предоставьте полный журнал.

3. E / AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.coni, PID: 1081 java.lang.RuntimeException: Не удается запустить activity ComponentInfo{com.example.coni/com.example.sample.MapView}: java.lang. Исключение NullPointerException: попытка вызвать виртуальный метод ‘android.content. Контекст android.view.View.getContext()’ для нулевой ссылки на объект в com.example.coni. MapView.onCreate(MapView.java:127)

4. Для пояснения я объявил View view в классе MapView. Это верно?

5. Мне нужно увидеть класс.