Моя ситуация такова, что я хочу вызвать определенный метод для вызова из ClassA внутри моего ClassB, который расширяет класс BroadcastReceiver. Я понимаю, как сделать это из другого файла класса и т. Д. И как настроить BroadcastReceiver, или так я думал.
Ниже приведен файл класса, который расширяет BroadcastReceiver.
Открытый класс WatchPhone расширяет BroadcastReceiver {
private ClassA classA;
@Override
public void onReceive(Context context, Intent BackToMain) {
// TODO Auto-generated method stub
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
int state = telephony.getCallState();
switch(state) {
case TelephonyManager.CALL_STATE_RINGING:
Log.d("TestServiceReceiver", "IDLE");
classA.IwantToDoThis();
break;
}
}
Метод, который я пытаюсь вызвать, прекрасно работает в приложении, если я запрашиваю его вручную.
В моем AndroidManifest.xml я добавил это
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
и это внизу чуть выше закрывающего тега приложения.
<receiver android:name=".WatchPhone">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
Когда телефон звонит, приложение вылетает, а затем закрывается. Любые идеи о том, что я должен делать.