我的Android应用程序的主要活动有一个默认名称和一个别名,如果用户选择,它应该放在应用程序中。我用以下方式在我的AndroidManifest.xml中定义了这个。安卓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,并安装它在我的手机并安装任何的图标名称为“mydefaultlabel”访问应用程序和另一个“myaliaslabel”来访问它,这是不是我想要的行为,开始时我希望它只安装带有“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