我有一个应用程序来监听来电。该应用程序拥有一个拥有自己的联系人姓名和号码的数据库。是否可以刷新inCall屏幕?
当您收到来电时,如果传入号码(例如1234)在本地联系人数据库中不可用,应用程序会在其数据库中检查它,并在数据库中存在联系人姓名(如果该号码可用)中找到联系人姓名。 (比如说,XYZ)...
我的目标是刷新新的联系人姓名并称门店屏“某某电话。”而不是“1234呼叫..” ..
是否有可能? ..
我有一个应用程序来监听来电。该应用程序拥有一个拥有自己的联系人姓名和号码的数据库。是否可以刷新inCall屏幕?
当您收到来电时,如果传入号码(例如1234)在本地联系人数据库中不可用,应用程序会在其数据库中检查它,并在数据库中存在联系人姓名(如果该号码可用)中找到联系人姓名。 (比如说,XYZ)...
我的目标是刷新新的联系人姓名并称门店屏“某某电话。”而不是“1234呼叫..” ..
是否有可能? ..
它无法刷新来电屏幕但你可以通过获取自己的数据库......对于u需要运行呼入电话屏幕上乌尔自己的线程显示所需的名字,我用定时器和计时器任务这样做这里是示例
您的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);
}
}
}
吐司Handler类
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);
}
}
看看在[类似的问题(http://stackoverflow.com/q/2385685/1321873),答案是适合你的情况,以及 – Rajesh
@Rajesh感谢您的回复。但我不想更换inCall屏幕..我的目标是用更新后的联系人姓名刷新屏幕界面。 – thoma