जवाबों:
टाइटेनियम बैकअप आदि केवल Package Manager (pm)एक ऐप को फ्रीज करने के लिए इन-बिल्ट का उपयोग करते हैं । pmलॉन्चर में ऐप्स को चलने और दिखने से रोकने की सुविधा है। इसका उपयोग करने के लिए, टाइटेनियम बैकअप आदि निम्नलिखित कमांड को निष्पादित करते हैं:
pm निष्क्रिय {package_name}
आप एक समर्पित फ्रीजर ऐप का उपयोग किए बिना अपने आप से ऐप को फ्रीज कर सकते हैं। बस टर्मिनल एमुलेटर या में उपरोक्त कमांड का उपयोग करें ADB Shell।
उदाहरण के लिए, यदि आप फ्रीज़ करना चाहते हैं, तो कमांड का उपयोग करके रूट को Stock Web Browserखोलें Terminal Emulatorऔर स्विच करें su। फिर, निष्पादित करें # pm disable com.android.browser।
यह लौट आएगा #Package com.android.browser new state: disabled। किया हुआ!
ऐप आइकन को देखने के लिए अपने लॉन्चर (कुछ डिवाइस को रिबूट की आवश्यकता हो सकती है) को पुनरारंभ करें।
एप्लिकेशन defrost के लिए, बस की जगह disableके साथ enableआदेश में।
pm disableकेवल "मार" कहा जाता है, फिर प्रक्रिया तुरंत फिर से शुरू होती है। किल -स्टॉप पीआईडी बेहतर है। आप देख सकते हैं जो psआउटपुट में बंद कर दिया गया है।
मैंने पाया कि कैसे pm disableकाम करता है:
यदि आप चलाते हैं cat /system/bin/pm, तो यह देता है:
# 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 "$@"
तो जाहिरा तौर पर यह उसी प्रकार है जैसे कि पैकेजमेन्जर हम जावा से उपयोग करते हैं, इसे कॉल कर रहे हैं - बस एक रूट संदर्भ में कि कोई उपयोगकर्ता ऐप सीधे पहुंच नहीं सकता है।
आप जाँच सकते हैं कि क्या कुछ जमी है, का उपयोग कर
getPackageManager().getApplicationEnabledSetting( the package name ) ==
getPackageManager().COMPONENT_ENABLED_STATE_DISABLED)
यूनिक्स प्रणालियों में, फ़ाइलों में 3 प्राधिकरण होते हैं: पढ़ना, लिखना और निष्पादित करना।
(लोगों की 3 श्रेणियों के लिए: फ़ाइल का मालिक [आमतौर पर इसका निर्माता], लोगों का समूह और बाकी सभी, लेकिन यह विषय से बाहर है)।
यदि आप फ़ाइल के निष्पादित प्राधिकरण को हटाते हैं, तो इसे अब लॉन्च (निष्पादित) नहीं किया जा सकता है।