我想检测一个来电。我是通过广播接收器完成的,这很好用。但是,当我的应用程序关闭时,它会显示“应用程序已停止”(应用程序崩溃)。那么如何启动我的App来执行操作?
这是我的BroadcastReceiver:
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;
}
}
答案 0 :(得分:1)
那么,伙计们……如果自己找到答案的话:D
只需使用onReceife的上下文并执行:
context.startActivity(new Intent(context, MainActivity.class));