2016-11-30 178 views

回答

1

一般來說,要想知道如何重寫任何默認的活動,首先你需要知道可以發射活動的意圖structure

確定意向

  1. 打開Android監視器(又名logcat的)
  2. 過濾日誌的結構,只顯示那些匹配字符串「ActivityManager」
  3. 啓動所需的活動重寫。在你的情況下,啓動呼叫屏幕

如果活動可以被覆蓋,你應該看到「啓動...」日誌條目,請複製進入,這樣你就不會在日誌中失去它。在我的設備,此內容是:

START U0 {行動= android.intent.action.CALL DAT =電話:XXXXXXXXXXX FLG = 0x10000000的CMP = com.android.server.telecom/.CallActivity(有演員)}從UID 10088上顯示0

此意圖是由

  • 行爲 - 意圖動作
  • DAT - 意圖數據
  • CMP - 意圖部件

現在你需要檢查,如果這個意向可以啓動默認的撥號器,而無需指定的組件。

檢查是否默認的活動可以覆蓋

  1. 亞行外殼
  2. 日上午開始-a android.intent.action.CALL -d電話:XXXXXXXXXXX(在數量填寫你想測試用)

如果它啓動撥號,然後,瞧。您應該能夠爲您的應用程序create an IntentFilter,適當地設置操作和數據。然後,用戶下一次嘗試撥打電話時,會詢問用戶想要使用的應用程序。