gpt4 book ai didi

android - 是否可以刷新 inCall 屏幕?

转载 作者:行者123 更新时间:2023-11-29 13:59:10 25 4
gpt4 key购买 nike

我有一个监听来电的应用程序。该应用程序有一个数据库,其中包含自己的联系人姓名和电话号码。

当您接到来电时,如果来电号码(例如,1234)在 native 联系人数据库中不可用,应用程序会在其数据库中检查它,如果号码可用,则从数据库中查找联系人姓名。 (比如,xyz)...

我的目标是用新的联系人姓名刷新通话屏幕,显示“xyz calling..”而不是“1234 calling..”......

这可能吗??..

最佳答案

无法刷新来电屏幕,但您可以通过获取自己的数据库来显示所需的名称...为此,您需要在来电屏幕上运行您自己的线程,我使用 Timer 和 Timer Task 来实现,这里是示例

您的 BroadcastReceiver 应该包含

ServiceReceiver extends BroadcastReceiver{

@Override
public void onReceive(final Context context, Intent intent) {

Bundle extras = intent.getExtras();

if (extras != null) {
String state = extras.getString(TelephonyManager.EXTRA_STATE);
incomingNumber = extras.getString("incoming_number");
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {

/********** Fetch name from your DB ************/

if (Name not present in your DB)
{
return;
}

if(present){

incomingCallTimer = new Timer();
ToastMessageHandler messageHandler = new ToastMessageHandler(context, contactName);
incomingCallTimer.schedule(new ToastTimer(messageHandler), 1000, 2000);

}
}

if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
// callActionHandler.removeCallbacks(runRingingActivity);
// setResultCode(Activity.RESULT_CANCELED);
try{
incomingCallTimer.cancel();
} catch (Exception e) {

}
}
}

class ToastTimer extends TimerTask {

ToastMessageHandler messageHandler;

public ToastTimer(ToastMessageHandler messageHandler) {
this.messageHandler = messageHandler;
}

@Override
public void run() {

Message message = Message.obtain(messageHandler);
messageHandler.sendMessage(message);



}

}
}

Toast 处理程序类

public class ToastMessageHandler extends Handler{

Context context;
String message;

public ToastMessageHandler(Context _context , String _message){
this.context = _context;
this.message = _message;

}
@Override
public void handleMessage(Message msg) {
Toast.makeText(msg);
}
}

关于android - 是否可以刷新 inCall 屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428758/

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