IOS-電話攔截

來源:互聯網
上載者:User

標籤:就是   context   col   amp   排列   這一   因此   director   注意   

  IOS10的電話攔截理念與android不一樣,基於隱私保護的理念IOS沒把對方號碼送給應用,因此需要反過來由app把需要識別或攔截的電話存入系統資料庫。這一功能通過Call Directory Extension模組實現(具體操作請見54944057,或者https://www.jianshu.com/p/e3d0acda8dda),通過在Blocking和Indentification兩個相關的方法中進行黑名單產生及識別號碼的產生。使用者在設定->電話->來電阻止與身份識別介面下開啟應用的該項功能時,應用的這兩個方法會被系統調用。通過在addAllBlockingPhoneNumbersToContext函數裡實現了某些固話號碼段的屏蔽。這樣實現的屏蔽號碼,在設定介面下是看不到。

  需要注意的問題:

  1、電話號碼要加國別、區號、升序排列,xcode預設產生的程式碼有問題,正確號碼格式應該如:+8618907311234、+8673122126000。可參見:78184598

  2、系統電話簿優先順序高於此方法設定的識別號碼,也就是同時有設定的情況下只會顯示號碼簿裡面的姓名。

  3、黑名單攔截的來電不會在曆史通話中顯示。

  下面是我的屏蔽多個號碼段的代碼:

1     CXCallDirectoryPhoneNumber allPhoneNumbers[] = {  +8673122126000, +8673122129000, +8673182984000, +8673189520000, +8673189522000, +8673189526000, +8673189527000, +8673189587000 };2     NSUInteger count = (sizeof(allPhoneNumbers) / sizeof(CXCallDirectoryPhoneNumber));3     for (NSUInteger index = 0; index < count; index += 1) {4         CXCallDirectoryPhoneNumber phoneNumber = allPhoneNumbers[index];5         for(int i=0;i<1000;i += 1){6             [context addBlockingEntryWithNextSequentialPhoneNumber:phoneNumber+i];7         }8     }

  此外,還有幾個功能沒嘗試:

1、檢查使用者授權。參見:52913028、52768699?locationNum=1

2、即時添加黑名單號碼,而不是需要在設定中單次觸發黑名單設定。

3、即時監聽來電。如:https://www.2cto.com/kf/201607/525336.html、46649115、https://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653578016&idx=2&sn=ae1474cbc3037e5c00e6da5c69cd8569&chksm=84b3b127b3c43831191d37ca0e86d2f2f7b97d180d8c0ccd6dedb9c4a9a9a8c0af909d28d558&scene=4#wechat_redirect

4、與宿主應用間資料共用(Extension與主應用是兩個應用,主應用的擷取的資料如果需要傳遞到extension,得用到appgroup)。如:78184598、https://www.jianshu.com/p/7f8472a97aa6

 

IOS-電話攔截

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.