trước hết tôi sẽ trình bày tình huống của mình. Tôi cần thực hiện lệnh "su" trong ứng dụng Android của mình và nó hoạt động tốt. Sau đó, tôi cần phải thực hiện lệnh "ls" và đọc đầu ra. Tôi đang làm nó bằng cách nhận được dòng đầu ra từ quá trình "su" và viết lệnh của tôi vào nó.Đọc đầu ra lệnh bên trong quá trình su
Và đây là câu hỏi. Làm thế nào để đọc đầu ra của quá trình "ls"? Tất cả những gì tôi có là "su" đối tượng Process. Lấy luồng đầu vào từ nó không cho gì cả, bởi vì "su" không viết gì cả. Nhưng "ls" hiện tại và tôi không biết cách truy cập thông điệp đầu ra của nó.
Tôi đã tìm kiếm nhiều trang web nhưng tôi không tìm thấy bất kỳ giải pháp nào. Có lẽ ai đó sẽ giúp tôi :)
Trân
Cuộc gọi để đọc() quầy nếu cuộc gọi hệ thống không trả lại bất cứ điều gì. Trong trường hợp đặc biệt này, "ls" nên luôn luôn trả về một cái gì đó nhưng chỉ cần ghi nhớ nó có thể gian hàng với các lệnh khác. – pmont
@glodos Có cách nào để thực hiện điều này mà không chỉ định BUFF_LEN không? Đó là, đọc một dòng tại một thời điểm cho đến khi không có nhiều dòng hơn? –
Xin chào, tôi đã sử dụng thành công ví dụ của bạn nhưng tôi đang nỗ lực để làm việc này trên Android Nougat. Bất cứ ai có bất kỳ ý tưởng cho điều này? – zeroprobe