2011年7月21日木曜日

【Android】他パッケージのActivityを呼び出すには

例えば電池使用量の画面を出すには、結論から言うと、
Intent intent = new Intent(Intent.ACTION_MAIN);
        ComponentName compo = new ComponentName("com.android.settings","com.android.settings.fuelgauge.PowerUsageSummary");
        intent.setComponent(compo);
        startActivity(intent);

・ComponentName に パッケージ名とクラス名を設定しています。

他の画面はどうやって出すの?って気になった場合は

なにか画面を起動したときに出る、
LogCatの
07-21 02:47:06.246: INFO/ActivityManager(116): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.contacts/.DialtactsActivity bnds=[5,244][115,362] } from pid 1016
を参照し、 cmp=com.android.contacts/.DialtactsActivity となってるのが、
パッケージ名とクラス名。ちなみにこれは電話アプリ。

この場合は、
ComponentName("com.android.contacts","com.android.contacts.DialtactsActivity");
となる。

これで電話アプリが起動する。

0 件のコメント:

コメントを投稿