2010-11-20 4 views
3

私はJavaには比較的新しい(まあ、新しいかもしれないが、約10年経っている)とAndroidプログラミング。私はメインアクティビティと2つの "サブ"アクティビティを持つアプリケーションを構築しました。これは、メインアクティビティウィンドウの2つのボタンを使用してアクティブ化されます。インストール時にすべてのアクティビティ/クラスがアプリケーションリストに表示されるのはなぜですか?

すべて正常です。しかし、私の電話にアプリケーションをインストールすると、メインアクティビティ/クラスのアイコンと、アプリケーションリストの2つの「サブ」アクティビティ/クラスが電話機に表示されます。

これは私のJavaの知識に欠けていると思いますが、ユーザーインターフェイスを介して呼び出されたアクティビティを非表示にして、メインアプリケーションのアイコンの下に常駐させてアプリケーションに入る唯一のエントリポイントにしますか?

のようなクラスがすべて指定されています。publicクラスが活動{

がまたは主な活動により使用を許可するが、それを表示されませんそれのような何か「プライベートクラスは、アクティビティの{拡張」がある拡張

アプリユーザーのための?

+0

マニフェストファイルを表示してください。 – Pentium10

答えて

16

これは実際には私が信じているアンドロイドです。あなたのAndroidManifestを確認し、各アクティビティに追加のインテントフィルタセクションが含まれているかどうかを確認してください。本当に1つしかないはずです。あなたの他の2つの活動は打ち上げを予定していないので、そのセクションを持ってはいけません。

<activity android:name=".MainActivity" android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
</activity> 
<!-- these don't have intent-filter children because they aren't meant to be launched --> 
<activity android:name=".SubActivity1" android:label="@string/app_name"/> 
<activity android:name=".SubActivity2" android:label="@string/app_name"/> 
+0

ありがとうございました! – Craig