Androidアプリの主要なアクティビティは、デフォルトの名前と、ユーザーが選択した場合にアプリケーションに付けるエイリアス名です。私はAndroidManifest.xmlで次のように定義しました。デフォルトの名前とそのエイリアスを持つAndroid apkをインストールする
<activity
android:name="com.example.fgd.myapplication4.MainActivity4"
android:label="mydefaultlabel"
android:theme="@style/AppTheme.NoActionBar"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity-alias
android:label="myaliaslabel"
android:name=".MainActivity-Flavor-One"
android:enabled="true"
android:targetActivity=".MainActivity4"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
しかし、私はAPKを構築し、それを自分の携帯電話をインストールしようとしましたし、それがあるアプリとそれにアクセスするための「myaliaslabel」と別のものにアクセスするための名前「mydefaultlabel」、とアイコンのいずれかをインストールします私の望む動作ではなく、始めに "mydefaultlabel"というアイコンをインストールするだけです。
この動作を達成するにはどうすればよいですか?
PD:私はこのコードでアプリのエイリアスを変更すると、削除や しようとすると、もはやアプリケーションを実行することはできないために発生します
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.example.alber.myapplication4", "com.example.alber.myapplication4.MainActivity-Flavor-One"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.example.alber.myapplication4", "com.example.alber.myapplication4.MainActivity4"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
私はエラーを取得するアプリその私のAndroidデバイスにはインストールされていません。
アプリケーションエイリアスをこのように変更できるように、エイリアスはランチャーカテゴリで定義する必要があります。
このような場合を除いて、エイリアスを変更する方法はありません。
他にもできることはありますか?
あなたの答えをありがとうが、それは動作しません、私は関連する問題を表示するために自分の投稿を編集しています。 – user2638180