2011-06-27 37 views
5

Tôi gặp sự cố đã khiến tôi cực kỳ mở rộng trong vài ngày qua. Tôi muốn viết một kịch bản sh Android nào sau đây (để giúp tôi âm nhạc đồng bộ, bức ảnh, vv):Các vấn đề về tập lệnh wifi trên Android

1) Bật wifi (wifi tắt theo mặc định để tiết kiệm điện)

2) Kiểm tra xem kết nối wifi của tôi là trong phạm vi (cho phép gọi nó là myWifi)

3) Nếu myWifi không nằm trong phạm vi, vô hiệu hóa wifi, nếu nó nằm trong phạm vi, kết nối và bắt đầu một số phần mềm đồng bộ

Bây giờ, để cho phép/vô hiệu hóa wifi, tôi sử dụng lệnh sau, yêu cầu root:

svc wifi enable/disable

Để quét cho các kết nối wifi avaible, tôi sử dụng lệnh sau:

iwlist eth0 scan

Điều strage là, iwlist eth0 scan sẽ chỉ làm việc nếu tôi không đăng nhập bằng root (Tôi rất tò mò tại sao điều này là trường hợp, nếu có ai biết bất cứ điều gì), chạy nó trong khi gốc sẽ trở lại:

eth0: Interface doesn't support scanning : Invalid argument

nhưng chạy nó trong khi không đăng nhập bằng root, sẽ cung cấp cho tôi thông tin tôi cần. Tôi đã thử các cách tiếp cận khác nhau để giải quyết vấn đề này. Rõ ràng nhất là đăng nhập như là người dùng tiêu chuẩn trong các hệ điều hành Android ngay trước khi gọi lệnh iwlist:

su -c app_1

Tuy nhiên, bất kỳ lệnh có liên quan đến su sẽ trở lại permission denied ngay cả khi cách gọi nó như là người chủ, và vì sudo không tồn tại trong Android, tôi cảm thấy khá lạc ở đây. Tôi cũng đã thử một cách giải quyết liên quan đến việc tách tập lệnh thành hai phần và cố gắng chạy tập lệnh đầu tiên dưới dạng thư mục gốc và thứ hai là không phải root (người dùng mặc định trong Android i app_1), nhưng điều này sẽ chỉ làm chậm sự cố ...

Nếu có ai có câu trả lời về cách giải quyết vấn đề người dùng này hoặc cách sử dụng iwlist eth0 scan (hoặc một lệnh khác làm như vậy) khi đăng nhập dưới dạng gốc, tôi sẽ rất biết ơn.

Cảm ơn bạn.

+0

Phiên bản không dây (số) nào bạn đã sử dụng? – NoBugs

+0

Tôi xin lỗi, nhưng tôi không nhớ và tôi sợ kịch bản đã bị mất với điện thoại Nexus cũ của tôi. Tôi đã bắt đầu sử dụng Google Music thay vì tập lệnh trên. – AHaahr

Trả lời

0

Theo man iwlist người dùng thông thường chỉ có thể xem một số kết quả quét trái. Để bắt đầu quét mới dưới dạng root, trước tiên bạn cần khởi động giao diện (sau khi bắt đầu wifi):

ifconfig wlan0 up 
Các vấn đề liên quan