7

私がしばらくの間取り組んできたアプリケーションで、非常に紛らわしい問題が発生しています。突然、アプリケーションを実行しているときに、起動時にすぐに強制終了することがわかりました。

さらに調査したところ、ランチャーに 2 つのランチャー アイコンが見つかりました。そのうちの 1 つは、アプリケーションが実行されている場合はアプリケーションを再開するか、実行されていない場合は強制的に終了します。2 つ目は通常どおりに動作します - アプリケーションを通常どおりに起動し、通常どおりに再開します。

この問題を引き起こすために何もしていなかったので(私が考えることができる)、私は非常に混乱しています。マニフェストでは何も変更せず、アプリの色をより速く変更するための新しいメソッドをいくつか実装しただけです。

これらの問題は、電話の電源を切るか、アプリを手動で強制終了するか、アプリをアンインストール/再インストールしても、すべてのエミュレーターとデバイスで同様に持続します。単純な ctrl+z は機能しませんでした。明確にするために-私が望むのは、アプリケーションを通常どおり起動するための1つのランチャーアイコンに戻ることだけです(特別なことは何も起こりません)。

アップデート:

いずれかのアイコンから起動すると、すぐに強制的に閉じられるようになりました。マニフェスト内の 2 つのアクティビティ内にコードが見つかり、2 行目を .LAUNCHER から .DEFAULT に変更すると、元の問題が修正されました。しかし、今では常に強制終了のメッセージが表示されます...元のランチャー アクティビティ内に問題が発生しています (確認できます)...これを修正しようとして多くの問題を抱えています (何をすべきかわかりません) do) そしてとても心配になり始めています!

更新 2:

私は自分の問題を見つけました。皆さんの助けに感謝します! 実際には、同時に発生した2つの別々の無関係な問題がありました. ランチャーの 1 ~ 2 つのアイコン: 原因は、

4

5 に答える 5

24

2つの活動があります

 <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>

2番目のものを削除

于 2012-01-02T06:14:19.880 に答える
3

実際、Android Launcher は、アプリケーションではなく LAUNCHER カテゴリのすべてのアクティビティを表示します。

アプリケーションに複数のアクティビティが含まれている場合、アクション MAIN とカテゴリ LAUNCHER は、アプリケーションで使用したすべてのアクティビティではなく、アプリケーションのデフォルト アクティビティ (初期画面) に対してのみ使用する必要があります。アプリ内のすべてのアクティビティに同じものを配置すると、Android Launcher に表示されます。

インテント アクションとカテゴリについてお読みください。

于 2012-01-02T06:43:32.453 に答える
2

まあ、私は同じ問題に直面していました。問題は、アプリを実行したときに、MyApp という名前の 2 つのアイコンと SplashActivity という名前の 2 つのアイコンを作成していたことです。SplashActivity (名前付きアプリ) をアンインストールしようとしたときに、確認メッセージに次のように表示されていました

SplashActivity は MyApp の一部です。アンインストールしますか?

いくつかの参考文献を見た後、

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

あらゆるアクティビティの下で、Android はこれがアプリの MAIN エントリ ポイントであると考えます。そして、そのアクティビティのランチャー アイコンを作成します。ただし、名前は activityName として保持されました。

最後に SplashActivity の Activity タグを

 <activity
    android:name=".activities.SplashActivity"
    android:label="@string/title_activity_splash"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
 </activity>

<activity
    android:name=".activities.SplashActivity"
    android:label="@string/app_name"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

appName ではなく activityName として複数のアイコンとランチャー アイコン名の問題を解決しました。

于 2014-09-13T07:20:56.603 に答える
0

私の場合、そのような何かを助けました

マニフェスト ファイルの古い 1 行

スプラッシュ スクリーン アクティビティ

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

主な活動

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

そして新しいのは

スプラッシュ スクリーン アクティビティ

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

主な活動

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
</intent-filter>

以下のメインアクティビティでこの行を削除するだけです

<category android:name="android.intent.category.LAUNCHER" />

以上です !

于 2015-01-02T16:47:34.113 に答える