Câu trả lời:
Titanium Backup, vv chỉ sử dụng tích hợp sẵn Package Manager (pm)
để đóng băng một ứng dụng. pm
có một tính năng để ngăn các ứng dụng chạy và xuất hiện trong Trình khởi chạy. Để sử dụng nó, Titanium Backup, vv thực hiện lệnh sau:
pm vô hiệu hóa {pack_name}
Bạn có thể tự đóng băng các ứng dụng mà không cần sử dụng ứng dụng tủ đông chuyên dụng. Chỉ cần sử dụng lệnh trên trong Terminal Emulator hoặc ADB Shell
.
Ví dụ: nếu bạn muốn đóng băng Stock Web Browser
, hãy mở Terminal Emulator
và chuyển sang root bằng su
lệnh. Sau đó, thực hiện # pm disable com.android.browser
.
Nó sẽ trở lại #Package com.android.browser new state: disabled
. Làm xong!
Khởi động lại Trình khởi chạy của bạn (một số thiết bị có thể yêu cầu khởi động lại) để xem biểu tượng ứng dụng đã biến mất.
Để rã đông ứng dụng, chỉ cần thay thế disable
bằng enable
lệnh.
pm disable
chỉ nói "bị giết", sau đó quá trình bắt đầu lại ngay lập tức. giết -STOP pid là tốt hơn. Bạn có thể thấy cái nào được dừng lại, ở ps
đầu ra.
Tôi tìm thấy cách làm pm disable
việc:
Nếu bạn chạy cat /system/bin/pm
, nó sẽ cho:
# Script to start "pm" on the device, which has a very rudimentary
# shell.
#
base=/system
export CLASSPATH=$base/framework/pm.jar
exec app_process $base/bin com.android.commands.pm.Pm "$@"
Vì vậy, rõ ràng nó giống như Trình quản lý gói mà chúng tôi sử dụng từ Java, nó đang gọi nó - chỉ trong một ngữ cảnh gốc mà không ứng dụng người dùng nào có thể truy cập trực tiếp.
Bạn CÓ THỂ kiểm tra nếu một cái gì đó bị đóng băng, sử dụng
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
Trong các hệ thống Unix, các tệp có 3 ủy quyền: đọc, viết và thực thi.
(Dành cho 3 loại người: chủ sở hữu của tệp [thường là người tạo ra nó], một nhóm người và mọi người khác, nhưng nó không nằm ngoài chủ đề).
Nếu bạn loại bỏ ủy quyền thực thi của tệp, nó không thể được khởi chạy (thực thi) nữa.