我想检测来电。我用广播接收器实现了这一点,这个方法很有效。但是当我的应用程序关闭时,就会显示“应用程序已停止”(应用程序崩溃)。那么我该如何启动我的应用程序执行操作?
以下是我的广播接收器:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;
public class InterceptCall extends BroadcastReceiver {
private static final String TAG = "InterceptCall";
private static MainActivity activity;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {
Log.d(TAG, "onReceive: incoming call");
activity.startCallScreen();
}
}
public static void setActivity (MainActivity mainActivity) {
activity = mainActivity;
}
}