gpt4 book ai didi

android - 如何为小米手机提供单独的图标?

转载 作者:太空狗 更新时间:2023-10-29 14:59:14 26 4
gpt4 key购买 nike

我注意到在 Xiaomi Mi Phone 上,图标是 iOS 版。这就是为什么我正在开发的应用程序的图标看起来很糟糕。

有没有办法为那些小米手机提供一个单独的图标?或者这是用户必须自己改变的吗?

最佳答案

您可以检查设备制造商,然后借助对不同图标使用 activity-alias 的帮助,您可以专门为小米手机更改图标。过程是这样的——

首先在 list 文件中的主要 Activity 声明下创建 2 个新的 Activity 别名:

<!-- MAIN ACTIVITY -->
<activity
android:name="com.example.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<!-- 2 ACTIVITY ALIAS For Main Activity -->
<activity-alias
android:name="com.example.MainActivity-Normal"
android:enabled="true"
android:icon="@drawable/logo_normal"
android:label="@string/app_name"
android:targetActivity="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name="com.example.MainActivity-Xiaomi"
android:enabled="false"
android:icon="@drawable/logo_xiaomi"
android:label="@string/app_name"
android:targetActivity="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

注意我已经删除了那行

<action android:name="android.intent.action.MAIN" />

来自 MainActivity 声明。它仅存在于 Activity-Alias 中。同样只有第一个 Activity-Alias 被启用,它是用于普通图标的,而第二个 Activity-Alias 与小米图标最初是禁用的。

现在是第二步,打开您的 MainActivity.java 并在其中创建此方法:

private void checkForIcon(){
if(Build.MANUFACTURER.equals("Xiaomi")){
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.example", "com.example.MainActivity-Normal"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
getPackageManager().setComponentEnabledSetting(
new ComponentName("com.example", "com.example.MainActivity-Xiaomi"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}
}

在此之后,只需在 MainActivity 的 OnCreate() 方法中调用此方法即可。

一旦应用程序第一次启动,它就会检查手机是否由小米制造,如果是,它会通过启用它并禁用第一个来使用第二个 Activity-Alias(这样 2 个图标就不会t 出现在您的手机中)。

确保将正确的包名称放在各处,并将两组应用程序图标放在可绘制文件夹中,名称在 Manifest 文件中指定。

关于android - 如何为小米手机提供单独的图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28581717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com