我想检测来电。我用广播接收器做到了这一点,效果很好。但是当我的应用程序关闭时,它会显示“应用程序已停止”(应用程序崩溃)。那么我如何启动我的应用程序来执行操作?
这是我的广播接收器:
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;
}
}
最佳答案
所以,伙计们...如果我自己找到了答案:D
只需要使用 onReceife 的 Context 并执行以下操作:
context.startActivity(new Intent(context, MainActivity.class));
关于java - 当检测到来电时,启动 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58919511/