【发布时间】:2019-11-18 16:57:48
【问题描述】:
我想检测来电。我用广播接收器做了这个,效果很好。但是当我的应用程序关闭时,它会显示“应用程序已停止”(应用程序崩溃)。那么如何启动我的应用程序来执行操作呢?
这是我的广播接收器:
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;
}
}
【问题讨论】:
标签: java android android-studio broadcastreceiver