我有一個應用程序來監聽來電。該應用程序擁有一個擁有自己的聯繫人姓名和號碼的數據庫。是否可以刷新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