Android apk使用默认名称和别名安装活动
我的Android应用程序的主要活动有一个默认名称和一个别名,如果用户选择的话,应该将其放在应用程序中。我用以下方式在我的AndroidManifest.xml上定义了它Android apk使用默认名称和别名安装活动,android,android-studio,Android,Android Studio,我的Android应用程序的主要活动有一个默认名称和一个别名,如果用户选择的话,应该将其放在应用程序中。我用以下方式在我的AndroidManifest.xml上定义了它 <activity android:name="com.example.fgd.myapplication4.MainActivity4" android:label="mydefaultlabel" android:theme="@style/AppTheme.
<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>
我得到一个错误,应用程序没有安装在我的Android设备上
看起来,不管怎样,别名都必须使用launcher类别定义,才能以这种方式更改应用程序别名
我看没有办法改变别名,除非用这种方法
还有什么可以做的吗?您正在设置两个主要活动和启动器
您只需将这些行添加到实现图标或其他内容的特定活动中。实际上,这比我想象的要容易
在activity alias中,您只需将安卓:enabled=true更改为安卓:enabled=false,这样别名仍然可以正常工作,但不会第一次显示为启动器。谢谢您的回答,但它不起作用,我正在编辑我的帖子以显示相关问题。
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);
<action android:name="android.intent.action.MAIN" /> //<--wrong
<category android:name="android.intent.category.LAUNCHER" /> <--wrong