当检测到来电时,启动安卓应用程序。

3

我想检测来电。我用广播接收器实现了这一点,这个方法很有效。但是当我的应用程序关闭时,就会显示“应用程序已停止”(应用程序崩溃)。那么我该如何启动我的应用程序执行操作?

以下是我的广播接收器:

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;
    }
}

1个回答

1

大家好...我自己找到了答案:D

只需要使用onReceive的上下文,然后执行:

context.startActivity(new Intent(context, MainActivity.class));


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接