2012-03-16 8 views
0

デフォルトの起動アクティビティを古いデフォルトから新しいアプリに変更する必要があるアプリケーションを変更しています。基本的に私はちょうど新しいアクティビティを追加し、古いものからインテントフィルタを上に移動するためのmanifest.xmlを更新しています:アプリのデフォルトの起動アクティビティを変更することはできますか?

<activity 
    android:label="@string/app_name" 
    android:name=".NewActivity" > 
    <intent-filter > 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
<activity android:name=".OldActivity" > 
    <!-- Launcher used to be here --> 
</activity> 

これは古いバージョンからアップグレードするユーザーのための問題を引き起こす可能性があれば、誰もが知っていますアプリの?例えば、彼らがアプリケーションへのショートカットを持っている場合、それはまだ動作します。さらに、Google Marketplace(Play Store)やAmazonなどの標準的なアプリストアのいずれかには、これを行うことができないという要件がありますか?

アクティビティが同じままでなければならない場合の対処法は、古いアクティビティが新しいクラスを指し示すようにクラスをハックすることができますが、何も心配していない場合はきれいにすることです。

答えて

0

基本的に、アプリケーションをビルドすると、変更されたすべてのXMLがバイナリにコンパイルされ、デバイスにデプロイされます。したがって、AndroidManifest.xmlを変更すると、デバイスにビルドしてデプロイするとき(開発状態)にデバイスからのアプリケーションが更新され、新しいマニフェストが使用されます。 アプリケーションのmanifest.xmlを変更して市場向けのアップデートをビルドしても同じことが必要です。つまり、新しいマニフェストバイナリがロードされるため、ユーザアプリケーションをアップデートしてデフォルトのアクティビティを変更することです。

幸運、 Arkde

+0

私はそれを実現するが、最初の場所で指定されたのと同じ活動がその後を使用しなければならないと言う展開に制限がある場合、私は思ったんだけど。ショートカットなどのアクティビティを変更することに問題がある場合は、私がその活動をそのままにして、カバーの下をハックする必要があるかもしれません。 – locka

関連する問題