9

私のアプリには次の主なアクティビティがあります。

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

ホームランチャーから問題なく起動します。ただし、Googleのジェスチャー検索から起動しようとすると、アプリにがないことを示すジェスチャーエラーメッセージが表示されます.MainActivity

https://play.google.com/store/apps/details?id=com.google.android.apps.gesturesearch

Androidアプリには、メインアクティビティと呼ばれるものが必要.MainActivityですか?そうでない場合、それはソフトな推奨事項ですか、それとも慣例ですか、それともジェスチャ側の悪い仮定ですか?

4

4 に答える 4

10

Androidアプリは、.MainActivityと呼ばれるアクティビティを必要としません。さらに、私はこのような慣習を知りません。.MainActivityと呼ばれるものが必要だと無意識のうちにGestureに伝えているようです。

おそらく、クラスの実際の名前の前にパッケージ名を付けたためです。代わりに、完全修飾クラス名を入力してみてください。また、アクティビティの名前を変更して、別の結果が得られるかどうかを確認してください。

于 2012-05-28T04:23:09.527 に答える
3

Android アプリは名前付きのアクティビティを必要としないため、MainActivityそれを実装するアプリケーションを想定すべきではありません (また、依存するべきではありません)。

さらに、そうすることを推奨する慣習は聞いたことがありません。ほとんどの開発者は、アプリケーションでの動作や目的に合わせて各アクティビティに名前を付けます。

于 2012-05-28T04:37:23.643 に答える
0

いいえ、これはまったく必要ありません。私は自分のプロジェクトでこの名前を使用したことはありません。アプリケーションの動作に合わせて名前を付けることができます。

于 2012-05-28T04:43:57.413 に答える
0

マニフェスト ファイルに記載されているアクティビティ名に問題がある可能性があります。

android:parentActivityName=".activity.MainActivity"

Fragment と Actionbar の戻るボタンを使用している場合は、親アクティビティ名を正しく指定する必要があります。私の場合は MainActivity です。正しく指定されていない場合、エラーが表示されます。

于 2014-11-02T14:34:15.057 に答える