為什麼很多安卓的應用都有直接發送彩信的許可權?

好多我覺得跟彩信八竿子打不著的應用都有這個許可權,比如知乎..為什麼會有這個許可權呢?


這個答案下許多人的回答都不全對,這裡說一下個人的粗淺看法。

作為一個Android開發者,一定知道一個許可權叫發送簡訊(SMS),但是即便不申請這個許可權,在眾多國產ROM上,依然會發現自己的App有一個發送彩信(MMS)許可權。

這裡的MMS和SMS其實根本不是一回事,而且這也不是ROM的bug,而是符合中國國情的一種做法。

我們都知道發彩信是要收費的,而且比簡訊的費用要高的多,大概5-10倍的樣子。Android App發送彩信需要什麼許可權呢?只需要兩個:

  1. 聯網許可權(必須,但是走的是GPRS網路,也就是說發彩信需要手機(卡)支持GPRS且是消耗流量的)
  2. 存儲器訪問許可權(是否必須沒有試驗過,這裡我假裝是要的吧)

而且App可以做到對用戶完全透明,悄無聲息的發送彩信。

本質上,發彩信只是一個網路通信,而聯網許可權在Android的定義中不屬於危險許可權,安裝時即授權。存儲器訪問許可權雖說在Andoird M及之後需要用戶授權,但他基本也不會讓人有什麼危險感,不會像發送簡訊許可權那樣令人警惕。因此惡意App能輕易做到不經過用戶同意發彩信,即便是運行在M及之後的版本。

原生Android沒有發送彩信這一許可權,而中國的用戶又確實飽受惡意發送彩信的困擾,因此ROM廠商如小米就自己做了個MMS許可權,默認不授予App(詢問),以限制有可能發出彩信的App。


發彩信不需要發送簡訊許可權。只需要讀取圖片文件和網路許可權便可以實現後台發送彩信。


然而並沒有。

不知道你是從哪裡下載的盜版知乎。


App並未明確申請此許可權,是MIUI的bug。

實際上Android根本沒有「發送彩信」這一許可權和對應的API。


根據我自己的測試,在miui里所有申請了網路許可權的app都會有這個「發送彩信」的許可權,別的系統上不會有。

實際上這個許可權和「發送簡訊」是同一個,如果你想控制這個許可權的話,只需要控制「發送簡訊」就可以了。


說難聽點,就是流氓唄,我也問過類似的問題,就是國內應用就算沒有後台推送的服務或者關閉了後台推送的服務,它在後台還是有一個服務甚至幾個服務組成守護進程!


安卓和蘋果就像openstack和vmware的區別。我從不否認兩者同樣偉大,但是「人生觀」不同。

我沒偏題,我講的是根本原因。


我所有的APP基本都有這個許可權,很納悶。


雖然android是開源的,但是從各種意義上講:原生android=正版android是沒毛病的。

所以,整天噴xx手機「沒優化,用的是原生android是鬧哪樣?」

打個比方,你買個品牌pc,出廠給你裝個盜版windows+一堆預裝「軟體」,你該叫好呢,還是該叫好呢,還是叫好呢?


推薦閱讀:

綠色守護vs黑域(前禁止運行)?
何為 Android Design,為什麼應用開發要遵循 Android Design?
如何看待用 HTML5 技術開發的 web 應用與 Android 或 iOS 等原生應用的關係?
怎樣使用深藍詞典?
既然有 Google Play 的存在,那為什麼 Apkpure 還能做起來?

TAG:Android應用 | Android |