2017-07-28 44 views
1

當我在手機上接到來電時,我想要求用戶選擇「在哪個應用程序中想要接聽那個電話「。我的應用程序不會顯示在android.intent.action.Call的「完整操作」選擇器對話框中

通常根據我的研究,當我使用android:permission="android.permission.CALL_PHONE"行動爲我的接收器,然後它會自動打開「完成操作使用」,但不幸沒有得到該彈出。

要打開彈出窗口,我在下面的代碼

Intent it = new Intent(Intent.ACTION_CALL); 
it.setData(Uri.parse("tel:" +number)); 
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

if (ActivityCompat.checkSelfPermission(ctx, 
     Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 
    return; 
} 
ctx.startActivity(it); 

完成,使用「完成操作需使用」彈出窗口開放代碼,但沒有得到我的應用程序在選擇

我參考下鏈接讓我的場景工作 how to use android.intent.action.CALL_PRIVILEGED and android.intent.action.NEW_OUTGOING_CALL?

那麼,任何人都可以幫助我使我的方案工作?

+0

我很困惑。你想處理來電或去電嗎?這些是兩個不同的東西,你的問題包含兩個元素。 –

+0

@大衛我想處理來電 – Himadri

+0

你看這個嗎? https://stackoverflow.com/questions/15563921/how-to-detect-incoming-calls-in-an-android-device通過使用'BroadcastReceiver'來處理來電檢測,以檢測電話狀態的變化。您的問題涉及「完成使用操作」彈出窗口,但這隻適用於「活動」。 –

回答

1

ACTION_CALL用於OUTGOING呼叫,而不是來話呼叫。我不確定你實際上可以做你想做的事。當你問用戶應該回答什麼應用程序時,你需要「保持」來電。但是,應答來電是在BroadcastReceiver中完成的,而不是在Activity中完成的。

你可以看看一些answers in this question。此人試圖做類似的事情(在默認來電屏幕上顯示另一個Activity)。即使這似乎是困難的。

here是一個非常完整的解釋,當一個傳入呼叫到達時會發生什麼。

+0

謝謝大衛我會檢查 – Himadri

相關問題