2011-04-02 15 views
9

मैं एक्सेस करना चाहता हूं और देख सकता हूं कि पृष्ठभूमि में कितनी और कौन सी सेवाएं चल रही हैं।एंड्रॉइड में सभी चल रही सेवाओं की जांच कैसे करें?

मैं बिल्कुल वैसा ही कार्यक्षमता चाहते हैं के रूप में हम

मेनू-> सेटिंग> अनुप्रयोगों> चलने वाली सेवाओं

हमारे एंड्रॉयड बेस मोबाइल फोन या टैब पर एक्सेस कर सकते हैं। क्या कोई मुझे बता सकता है कि इस कार्यक्षमता को प्रदान करने के लिए एंड्रॉइड स्रोत कोड में कौन से फ़ंक्शन या कक्षाओं का उपयोग किया गया है।

और यदि कोई तरीका है जिसके द्वारा मैं ऊपर वर्णित पृष्ठभूमि चल रही सेवाओं की इन-बिल्ड सूची तक पहुंच सकता हूं तो कृपया मुझे बताएं क्योंकि मेरे लिए यह बेहतर बनाने के लिए एक बेहतर बनाने के लिए बेहतर है पूरा नया एक।

+0

http://varundroid.blog.com/2011/05/22/androidscreens/ मैं नहीं जानता कि इस समाधान सही है या गलत है, लेकिन यह मेरे लिए ठीक काम करता है। – Varundroid

उत्तर

5

यहां एक पूरा उत्तर है।

चरण 1. सबसे पहले आप की घोषणा करने की जरूरत है और कुछ चर प्रारंभ: -

private static final String APP_DETAILS_PACKAGE_NAME = “com.android.settings”; // Here you need to define the package name 

private static final String SCREEN_CLASS_NAME = “com.android.settings.RunningServices”; // Here you need to define the class name but NOTICE!! you need to define its full name including package name. 

चरण 2. का दृष्टांत ACTION_VIEW के लिए एक आशय

Intent intent = new Intent(); 

चरण 3. सेट कार्रवाई

intent.setAction(Intent.ACTION_VIEW); 

चरण 3. इरादे के अंदर कक्षा का नाम सेट करें क्योंकि हम जानते हैं कि पैकेज में एक से अधिक गतिविधि हो सकती है। तो पैकेज नाम के अंदर गतिविधि से मेल खाने के लिए इरादे की जरूरत है।

intent.setClassName(APP_DETAILS_PACKAGE_NAME, SCREEN_CLASS_NAME); //Here you need to set package name as well as class name so it could refer to the Package and IntentFilter of the given Activity. 

चरण 4. प्रारंभ गतिविधि

context.startActivity(intent); // As soon as this line will be executed Running Service screen will be displayed as a foreground activity. 

ऊपर के उदाहरण में आप अपनी जरूरत के अनुसार APP_DETAILS_PACKAGE_NAME और SCREEN_CLASS_NAME फिर कुछ अलग स्क्रीन का उपयोग बदलना चाहते हैं।

मुझे सच में नहीं पता कि यह विधि दस्तावेज है या नहीं, लेकिन यह मेरे लिए आकर्षण की तरह काम करता है।

+0

क्या यह विधि सभी एंड्रॉइड संस्करणों के लिए काम करती है या केवल 2.2 (फ्रायओ) से नीचे है, तो क्या आप 2.3+ के लिए इसे लागू करने का एक तरीका जानते हैं? धन्यवाद। – user959631

+0

जब मैंने आखिरी बार परीक्षण किया, तो मेरा ऐप ठीक काम कर रहा था इसलिए मुझे लगता है कि हाँ। – Varundroid

+0

आह, ठीक है, धन्यवाद, मैं इसे सभी सेवाओं की बजाय अपने ऐप की चल रही प्रक्रिया/सेवाओं को कैसे प्रदर्शित करूं? कोई विचार? क्या यह करना मुमकिन है? – user959631

1

संभवतः, यह getRunningServices() पर ActivityManager पर कॉल कर रहा है। सीधे उस स्क्रीन पर जाने के लिए Intent कोई दस्तावेज नहीं है।

+0

मैंने अभी इंटरनेट पर जांच की है कि "एडवांस टास्क मैनेजर" जैसे बाजार में कुछ ऐप्स हैं जो सीधे एक क्लिक से उस स्क्रीन तक पहुंचते हैं, इसका मतलब है कि जब हम रनिंग सर्विसेज पर क्लिक करते हैं तो उन्होंने एंड्रॉइड के समान कार्य करने के लिए कॉल किया था। – Varundroid

+3

@ वारांड्रॉइड: यह अच्छा है, लेकिन यह दस्तावेज या समर्थित नहीं है, और इसलिए आप (और वे) इसका उपयोग नहीं कर रहे हैं। दस्तावेज और समर्थित है जो निकटतम 'ANDION.provider.Settings' पर' ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS' है। – CommonsWare

0

आप अपने डिवाइस

1- चेक इन आवेदन प्रबंधक पर मोबाइल की स्थापना 2- क्लिक करें पर जाएं 3 स्लाइड चल अनुप्रयोगों

इस स्थान पर आप मिल जाएगा देखने के लिए छोड़ दिया

enter image description here

+1

अलीम, मेरा मतलब प्रोग्रामेटिक था। 6 साल के सवाल का जवाब देने के लिए धन्यवाद। चीयर्स! – Varundroid

2

चेक यह: के रूप में संलग्न चित्र में दिखाए गए चालू सेवा साथ आवेदन चल रहा है लिंक:

How to Access Android’s List of Running Apps in 6.0 Marshmallow and Above


कहाँ, एंड्रॉयड 6.0 में चलने वाली सेवाओं जैसा कि मैंने पहले उल्लेख किया लगाने के लिए

Android 5.x पर और नीचे, आप देख सकते हैं क्या था सेटिंग्स> ऐप्स> चल रहा है में कूदकर चल रहा है। यह दोनों चल रही प्रक्रियाओं और सेवाओं को दिखाता है, सिस्टम और ऐप्स द्वारा कितनी मेमोरी (रैम) का उपयोग किया जा रहा है, साथ ही साथ कितना भी उपलब्ध है।


Marshmallow में एक ही मेनू को खोजने के लिए, आपको पहले डेवलपर विकल्प को सक्षम करना होगा। सेटिंग में, फिर फ़ोन के बारे में जाकर ऐसा करें।


वहां पहुंचने

, सॉफ्टवेयर जानकारी मिल खंड-कि कुछ फोन (सैमसंग, एलजी) पर एक अलग प्रविष्टि है, लेकिन अन्य पर नहीं, नेक्सस उपकरणों की तरह हो जाएगा। आप बिल्ड नंबर की तलाश में हैं, इसलिए आपको इसे खोजने से पहले को पोक करना पड़ सकता है। first two images below सैमसंग गैलेक्सी एस 7 एज से और नेक्सस 6 पी के अंतिम व्यक्ति को लिया गया था। जैसा कि आप देख सकते हैं, बिल्ड दो अलग-अलग स्थानों में है।



यदि आप पाते हैं जब यह, यह सात बार टैप करें। आपको एक टोस्ट अधिसूचना दिखाई देगी जो आपको बताती है कि "आप डेवलपर बनने तक कितने शेष हैं।" एक बार यह सात बार टैप हो जाने पर, एक नया मेनू मुख्य सेटिंग्स मेनू में फ़ोन के बारे में अनलॉक हो जाएगा।


सेटिंग्स में

वापस, डेवलपर विकल्प में सिर। आपको इस मेनू के नीचे " सेवाएं चलाना" देखना चाहिए-यही वह है जिसे आप ढूंढ रहे हैं। एक बार जब आप "चल रही सेवाएं" टैप करते हैं, तो आपको परिचित स्क्रीन के साथ प्रस्तुत किया जाना चाहिए-यह लॉलीपॉप से ​​बिल्कुल वही है।बस अलग-अलग जगह में।


+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/17598436) – EJoshuaS

संबंधित मुद्दे