當前位置:編程學習大全網 - 網站源碼 - 為什麽在 Android 上啟動知乎 app 時會喚醒微信

為什麽在 Android 上啟動知乎 app 時會喚醒微信

知乎調用微信sdk中分享的相關接口,微信sdk的相關接口裏面,給微信發送了壹個廣播,微信app就被喚醒了,這不是知乎的主觀行為,而是微信的(而且結合實際的分析來看,這個應該也算是正常的功能)。

1首先說壹下app的被喚醒(自啟動)機制。

app自啟動,基本上都是依靠Android的廣播來實現的,而且是靜態註冊的廣播(在AndroidManifest.xml文件中進行配置的廣播),發送廣播的方法在壹般情況下是sendBroadcast。

2按照慣例,反編譯壹下微信apk,然後搜索壹下它能夠由哪些靜態廣播進行喚醒,同時抓取廣播相關的log。

結合微信的AndroidManifest.xml文件以及抓取的log,可以知道相關的BroadcastReceiver是EntryReceiver,相關的action為

com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_REGISTER

com.tencent.mm.plugin.openapi.Intent.ACTION_HANDLE_APP_UNREGISTER

從其名稱上看,是和註冊/註銷相關,具體接收到廣播之後做了哪些處理,這些就不贅述了。

3接下來分析知乎的代碼,搜索壹下知乎反編譯之後的smali文件(sendBroadcast),其中只有壹條是和微信相關的

  • 上一篇:Linux裏面rpm安裝就是二進制安裝嗎?
  • 下一篇:奇點控股與煙臺芝罘區達成合作了嗎?這是什麽時候的事?
  • copyright 2024編程學習大全網