第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Android中掛斷電話?

如何在Android中掛斷電話?

動漫人物 2019-07-26 15:25:50
如何在Android中掛斷電話?我正在開發(fā)一個應用程序,其中我們需要的一件事是控制傳出呼叫,至少能夠從我們的應用程序中阻止它。我嘗試過使用Intent.ACTION_CALL現(xiàn)有的活動:Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); startActivity(callIntent);但是通過API似乎不允許停止呼叫。你能建議一些解決方法嗎?例如:在通話期間啟用飛機模式?只是一個例子; 這個黑客對我不起作用。
查看完整描述

3 回答

?
慕容森

TA貢獻1853條經(jīng)驗 獲得超18個贊

BroadcastReceiver已經(jīng)提到了在a中捕獲撥出呼叫,如果你想在撥號之前結束通話,這絕對是最好的方法。

但是,一旦撥號或通話,該技術就不再適用。我到目前為止掛斷的唯一方法是通過Java Reflection完成。由于它不是公共API的一部分,因此您應該小心使用它,而不是依賴它。對Android內(nèi)部組成的任何更改都將有效地破壞您的應用程序。

Prasanta Paul的博客演示了如何實現(xiàn)它,我在下面總結了這一點。

獲取ITelephony對象:

TelephonyManager tm = (TelephonyManager) context
        .getSystemService(Context.TELEPHONY_SERVICE);try {
    // Java reflection to gain access to TelephonyManager's
    // ITelephony getter
    Log.v(TAG, "Get getTeleService...");
    Class c = Class.forName(tm.getClass().getName());
    Method m = c.getDeclaredMethod("getITelephony");
    m.setAccessible(true);
    com.android.internal.telephony.ITelephony telephonyService =
            (ITelephony) m.invoke(tm);} catch (Exception e) {
    e.printStackTrace();
    Log.e(TAG,
            "FATAL ERROR: could not connect to telephony subsystem");
    Log.e(TAG, "Exception object: " + e);}

結束通話:

telephonyService.endCall();


查看完整回答
反對 回復 2019-07-26
?
慕雪6442864

TA貢獻1812條經(jīng)驗 獲得超5個贊

  1. 創(chuàng)建BroadcastReceiver優(yōu)先級為0的。

  2. 在BC中攔截ACTION_NEW_OUTGOING_CALLonReceive方法的意圖

  3. setResultData(null)用同樣的方法打電話

這將阻止調用啟動(只要您的接收者是最后一個處理我認為的意圖)


查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 1025 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號