Thay đổi thủ công shared_prefs và buộc ứng dụng cập nhật lên nó?


7

Tôi đã cố gắng tìm hiểu xem có thể tắt / bật thông báo bật lên GO SMS thông qua một cái gì đó như Tasker không. Tôi đã đi qua dòng sau /data/data/com.jb.gosms/shared_prefs/com.jb.gosms_preferences.xml:

<boolean name="pref_key_popup_msg" value="true" />

Có vẻ như tôi chỉ có thể lật nó sang false, nhưng GO SMS không thấy điều đó (và nó thực sự viết lại tệp shared_prefs trông giống như vậy). Có cách nào để buộc SMS GO đọc lại tệp shared_prefs này không?

Tôi đã root và khá thoải mái với các lệnh shell cũng như Tasker; Tôi nghĩ rằng bất kỳ giải pháp sẽ yêu cầu một trong những điều trên. (Tác vụ có thể bắn Hoạt động hoặc phát sóng ý định.)

Câu trả lời:


1

Vì điều này giáp với các sắc thái của lập trình về cách lưu trữ các tùy chọn, một hoạt động thực hiện PreferenceActivity, thực sự sửa đổi toàn bộ xml tùy chọn, không chỉ một giá trị chính.

Toàn bộ xml tùy chọn được tải và lưu vào bộ nhớ cache, bất kỳ thay đổi nào được thực hiện, nó sẽ ghi lại nó trong một cú trượt.

Rất có thể, trong trường hợp Go-SMS, có một giá trị mặc định được chỉ định true bất kể cái gì được chọn, và cũng có khả năng, được mã hóa cứng - nêu vấn đề với các nhà phát triển Go-SMS để tìm hiểu lý do tại sao?


0

Cố gắng chỉnh sửa tệp sau khi 'buộc dừng' ứng dụng trong settingsapplicationsmanage applications. Tuy nhiên, bạn không thể chỉnh sửa quyền của ứng dụng để hiển thị thông báo


Tôi đang nói về thông báo bật lên - không phải thông báo trên thanh trạng thái. Tôi sẽ cho nó một shot!
Đặng Khoa

Điều này đã không làm việc. Chuỗi trong tệp xml đã được thay thế thành true. :(
Đăng Khoa

bên trong ứng dụng, bạn có thể vào cài đặt menu - cài đặt thông báo - bật cho phép bật lên để tắt nó. Có lẽ ứng dụng sẽ kiểm tra khi nó được chỉnh sửa và ngăn bạn chỉnh sửa thủ công
Ruben Roy

Vâng, vâng, bạn có thể. Vấn đề là tôi muốn có thể thực hiện việc này ở bên ngoài (thông qua Tasker, nói). Đoán điều này là không thể ..
Đặng Khoa

@DangKhoa Bạn có buộc dừng ứng dụng trước khi chỉnh sửa tệp prefs không? Không có cách nào nó có thể viết lại tệp XML nếu nó không chạy.
Dan Hulme

-1

Tôi có cùng một vấn đề với ứng dụng tôi sử dụng - Tôi đã root và tìm thấy tệp prefs XML và giá trị tôi đã thay đổi theo cách thủ công nhưng mỗi khi tôi khởi động ứng dụng thì nó lại ghi lại tệp. Tôi đã thực hiện một số đọc về điều này và thử nghiệm mã Tôi nghĩ rằng điều này là do một ứng dụng sẽ chỉ gọi theo sở thích của nó (getPreferences) sau khi đóng hộp thoại / màn hình cài đặt - nói chung đây là cách ứng dụng được viết. Tôi vẫn không hoàn toàn chắc chắn tại sao / làm thế nào ứng dụng viết lại xml tùy chọn bất kể thay đổi cài đặt trong ứng dụng hay không.

BTW Tôi cũng muốn sử dụng Tasker để thay đổi giá trị trong prefs xml của ứng dụng để ứng dụng tự động phản hồi. Tôi đang xem xét dịch ngược ứng dụng tìm đoạn mã java có liên quan và sau đó sửa đổi nó để gọi trên prefs thường xuyên hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.