gpt4 book ai didi

android - 从服务调用 Activity onCallStateChange

转载 作者:行者123 更新时间:2023-11-29 02:03:01 24 4
gpt4 key购买 nike

我在 Service 中创建了 PhoneStateListenerToast 消息工作正常,但我想在来电时运行另一个 Activity。但它不会启动。这个类有什么问题?这是主要的 Activity 的代码,DialogAct 是一个带有布局的空 Activity

public class GSMListenerService extends Service {
private TelephonyManager tm;

@Override
public void onCreate() {
super.onCreate();

tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}

private PhoneStateListener mPhoneListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
try {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
Intent i = new Intent(GSMListenerService.this,DialogAct.class);
startActivity(i);
Toast.makeText(GSMListenerService.this, "CALL_STATE_RINGING: ", Toast.LENGTH_SHORT).show();

break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Toast.makeText(GSMListenerService.this, "CALL_STATE_OFFHOOK", Toast.LENGTH_SHORT).show();
break;
case TelephonyManager.CALL_STATE_IDLE:
Toast.makeText(GSMListenerService.this, "CALL_STATE_IDLE", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(GSMListenerService.this, "default", Toast.LENGTH_SHORT).show();
Log.i("Default", "Unknown phone state=" + state);
}
} catch (Exception e) {
Log.i("Exception", "PhoneStateListener() e = " + e);
}
}
};

@Override
public void onDestroy() {
super.onDestroy();
}

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}

最佳答案

使用FLAG_ACTIVITY_NEW_TASK旗帜。

Intent intent = new Intent(GSMListenerService.this, DialogAct.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

关于android - 从服务调用 Activity onCallStateChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com