2012-02-25 28 views
12

Tôi muốn biết liệu người dùng có thể hoặc cho nhà phát triển thiết lập cài đặt proxy điểm truy cập Wi-Fi trong phiên bản Android 2.x (Tôi biết rằng có thể chỉnh sửa phiên bản 3.x hoặc cao hơn cho AP cấu hình vào các thiết lập không dây), để có được các thiết lập từ mã theo cách sau:Cách người dùng/nhà phát triển có thể đặt cấu hình proxy của Android cho phiên bản 2.x?

ProxySelector defaultProxySelector = ProxySelector.getDefault(); 
List<Proxy> proxyList = defaultProxySelector.select("http://www.google.it"); 

(mà nên là right way để có được cấu hình proxy hiện tại của thiết bị Android)

tôi biết có một Hoạt động ẩn vào mã nguồn Android, được gọi là ProxySelector (hãy cẩn thận, nó có cùng tên của java.net.ProxySelector, nhưng đó là một hoạt động Android và nó nằm trên gói: com.android.settings.ProxySelector) nhưng nó đặt một cái gì đó giống như cấu hình proxy toàn cầu có vẻ bị bỏ qua bởi lớp ProxySelector mặc định.

Câu hỏi này là vì có vẻ như đối với các phiên bản Android 3.x hoặc cao hơn, cách tiêu chuẩn để sử dụng java.net.ProxySelector dường như hoạt động không có vấn đề, nhưng không phải cho các phiên bản Android 2.x. Đó là một hành vi thay đổi hoặc tôi đang làm điều gì đó sai?

Chúng ta có nên sử dụng cài đặt proxy chung cho các phiên bản Android 2.x thay thế không? Nhân tiện, chúng tôi có thể đọc cài đặt proxy chung theo cách sau:

Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY); 

Trả lời

3

Tôi không nghĩ có hỗ trợ cấp nền tảng nào cho proxy Wi-Fi trước Gingerbread hoặc tổ ong có sẵn.

Edit:
Một kỹ sư Android người làm việc trên một phần của nền tảng này khẳng định rằng hệ thống không có proxy với nhiều loại mạng khác nhau (ví dụ, Wi-Fi) cho đến khi Honeycomb. Vì vậy, không có cách "chính thức" để nhận proxy Wi-Fi cho 2.x.

+0

Rất tuyệt vời: -O !! Để đáp ứng rất nhiều người dùng tức giận (từ phân phối hiện tại, hơn 95%), bạn có đề xuất nào để giải quyết vấn đề này không? – lechuckcaptain

+0

Xin lỗi, không có gì bạn chưa từng nghĩ đến. – Sparky

+0

Bạn có nghĩ rằng có thể thiết lập các thuộc tính hệ thống trên toàn hệ thống ('http.proxyHost',' http.proxyPort', ...) được đọc bởi triển khai ProxySelector mặc định (http://goo.gl/dAZ8j) , để các nhà phát triển có thể tiếp tục sử dụng cách tiêu chuẩn của việc sử dụng ProxySelector? – lechuckcaptain

Các vấn đề liên quan