比如自動設置mtproxy代理,冗長的代碼我們怎麼去找?
1)首先我們發現點代理鏈接能彈對話框,們可以在strings.xml中搜索得到:
<string name="UseProxyTelegramInfo2">This proxy may display a sponsored channel in your chat list. This doesn\'t reveal any of your Telegram traffic.</string>
<string name="UseProxyForCalls">Use proxy for calls</string>
2)我們在項目中尋找:UseProxyTelegramInfo2,發現D:\Telegram\TMessagesProj\src\main\java\org\telegram\messenger\AndroidUtilities.java
中有函數進行引用:
public static void showProxyAlert(Activity activity, final String address, final String port, final String user, final String password, final String secret)
函數最後提及:
ConnectionsManager.setProxySettings(true, address, p, user, password, secret);
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.proxySettingsChanged);
這兩句非常關鍵,調用了
D:\Telegram\TMessagesProj\src\main\java\org\telegram\tgnet\ConnectionsManager.java
文件中設置代理的函數。那麼我們也可以在合適的位置自己調用,比如該類的
init函數中。
3)如果想自己動態設置代理,那麼可以使用https在某個服務器下載JSON格式的配置文件,
得到裏面的參數,設置即可。