2014年2月9日日曜日

AndrdoiMainifest.xml-03 (ホーム画面とアイコン, android.intent.category.LAUNCHER)

あまり使う機会がないと思いますが、
android.intent.category.LAUNCHER
を複数のActivityに記述した時の挙動を紹介したいと思います。

一応

このページの続きなので、訳わからない人は上のリンクを参照してください。


用意するものは

複数のActivity
複数のicon

■サンプルソール
・メインのアクティビティ

package co.jp.test.manifest.xml;

import android.os.Bundle;
import android.app.Activity;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  //テキストビューの生成
  TextView oTextView = new TextView(getApplicationContext());
  oTextView.setText("メイン画面");

  //LinearLayoutの生成
  LinearLayout oLayout = new LinearLayout(getApplicationContext());
  oLayout.addView(oTextView);
  setContentView(oLayout);
  }
}

・サブのアクティビティ
package co.jp.test.manifest.xml;

import android.os.Bundle;
import android.app.Activity;
import android.widget.LinearLayout;
import android.widget.TextView;

public class SubActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  //テキストビューの生成
  TextView oTextView = new TextView(getApplicationContext());
  oTextView.setText("サブ画面");

  //LinearLayoutの生成
  LinearLayout oLayout = new LinearLayout(getApplicationContext());
        Layout.addView(oTextView);
  setContentView(oLayout);
  }
}


・AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="co.jp.test.manifest.xml"
  android:versionCode="1"
  android:versionName="1.0" >
  <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

  <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:theme="@style/AppTheme" >
    <activity
      android:name="co.jp.test.manifest.xml.MainActivity"
      android:label="activityのラベル" >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity
      android:name="co.jp.test.manifest.xml.SubActivity"
      android:icon="@drawable/icon2"
      android:label="subactivityのラベル" >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
</manifest>


■実行結果



こんな画面が立ち上がると思います。
端末のホーム画面を見ると
"activityのラベル"と書かれたアイコンが表示されています。



一番左下に存在するのが、subactivityです。
AndroidManifest.xmlで最後に記述したactivityです。

タッチすると



ちゃんとサブの方が表示されました。

1つのアプリで複数のアイコンをホーム画面に表示できました。


この機能を使う機会があるのかはわかりませんが。。。



1 件のコメント:

  1. Is It Possible to get a free bet in the casino? - drmcd
    For a while, you might even play for free 제천 출장안마 or without money, but it's 삼척 출장마사지 been 안산 출장마사지 no longer 고양 출장마사지 the case. This casino will 서울특별 출장마사지 let you earn extra cash and win real money as the game

    返信削除