2011-04-02 11 views
9

バックグラウンドでいくつのサービスが実行されているのかを確認したいのですが、アンドロイドで実行中のサービスをすべてチェックするには?

私たちは私たちのアンドロイドベースの携帯電話やタブに

メニュー - >設定 - >アプリケーション - >実行中のサービスで

にアクセスできるとまったく同じ機能をしたいです。誰でも、この機能を提供するために、どのような関数やクラスがAndroidソースコードで使われているか教えてください。

、その優れた私は中・ビルドの代わりに作成するのいずれかを使用するので、私はその後、上に言及しているバックグラウンドで動作しているサービスのこのイン・ビルドリストにアクセスすることが可能な任意の方法がある場合は、私に教えてください全く新しいもの

+0

http://varundroid.blog.com/2011/05/22/androidscreens/ 私は、このソリューションが正しいか間違っているかわからないが、それは私のために正常に動作します。 – Varundroid

答えて

5

完全な答えです。

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.インスタンス化

intent.setAction(Intent.ACTION_VIEW); 
をACTION_VIEWする意図

Intent intent = new Intent(); 

ステップ3.設定アクションを - :あなたが宣言する必要があるといくつかの変数を初期化する

ステップ1.最初に

ステップ3.パッケージに複数のアクティビティーがあることがわかっているので、インテント内にクラス名を設定します。そのため、Intentはパッケージ名の中のActivityと一致するものが必要です。

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(Froyo)未満の場合にのみ動作しますか?2.3+でこれを実装する方法はわかりますか?ありがとう。 – user959631

+0

私が最後にテストしたとき、私のアプリは正常に動作していたので、私はYESと思います。 – Varundroid

+0

Ahh、ok、ありがとう、私はどのようにすべてのサービスではなく、私のアプリの実行プロセス/サービスを表示させるだろうか?何か案は?それは可能ですか? – user959631

1

おそらくActivityManagergetRunningServices()を呼び出しています。その画面に直接行くための文書番号Intentはありません。

+0

私はちょうどワンクリックでその画面に直接アクセスする "アドバンスタスクマネージャー"のような市場にいくつかのアプリがあることをインターネットでチェックしました。つまり、ランニングサービスをクリックするとアンドロイドと同じ機能を呼び出しました。 – Varundroid

+3

@Varundroid:いいですが、それは文書化されておらず、サポートされていないので、あなたも(そして彼らも)使用してはいけません。文書化されサポートされている最も近いものは 'android.provider.Settings'の' ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS'です。 – CommonsWare

0

あなたは 、3-スライドは、実行中のアプリケーション

これはあなたが見つける場所であるを見て、左のアプリケーションマネージャにモバイル設定 2 - をクリックしに行くお使いのデバイス

1-にチェック添付画像のようなサービスを実行しているに沿って実行しているアプリケーション:

enter image description here

+1

Aleem、私はプログラム的に意味しました。 6歳の質問thoに答えるためにありがとう。乾杯! – Varundroid

2

これをチェックリンク:

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


アンドロイド5.xの上で、私は先に述べたと同様のAndroid 6.0でサービスを実行する検索すると、以下の、あなたが何だったか見ることができます設定]> [アプリ]> [実行中]にジャンプして進んでください: これは、実行中のプロセスと サービスと、Systemおよび Appsで使用されているメモリ容量(RAM)と、まだ利用可能な量を示しています。


マシュマロで同じメニューを見つけるには、まず 開発者向けのオプションを有効にする必要があります。これを行うには、[設定]、[バージョン情報]の順に選択します。かつてそこ


、ソフトウェアの情報を見つけるのセクション、そのネクサス デバイスのような別の 一部の携帯電話(サムスン、LG)上のエントリではなく、他の人には、なります。あなたはビルド番号を探しているので、少し前に を突き刺さなければならないかもしれません。 first two images belowは、Samsung Galaxy S7 Edgeの と、Nexus 6Pの最後のものです。 ご覧のとおり、ビルドは2つの異なる場所にあります。あなたがそれを見つけた



、それを7回タップします。 「 デベロッパーになる」までに残っている電話番号の数がわかるように、 という通知が表示されます。7回タップすると、メインメニューの[携帯電話について]の上に新しいメニュー がロック解除されます。戻る[設定]、開発者向けのオプションに頭の中で


。このメニューをちょっと見ると、 "実行中の サービス"が表示されます。これが探しているものです。 [サービスの実行中]をタップすると、 のおなじみの画面が表示されます。これはLollipopの画面とまったく同じです。ちょうど の別の場所で。


+0

このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](/レビュー/低品質の投稿/ 17598436) – EJoshuaS

関連する問題