如何删除Android中应用程序快捷方式图标中的徽章?当我以编程方式创建应用程序快捷方式时,以及为快捷方式指定的图标,应用程序图标位于图标的右下角。我不想要那个徽章。
这是我使用的代码
public static void addShortcutToHomeScreen(Context context)
{
if (ShortcutManagerCompat.isRequestPinShortcutSupported(context))
{
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, "#1")
.setIntent(new Intent(context, Splash.class).setAction(Intent.ACTION_MAIN)) // !!! intent's action must be set on oreo
.setShortLabel("Test")
.setIcon(IconCompat.createWithResource(context, R.drawable.logo))
.build();
ShortcutManagerCompat.requestPinShortcut(context, shortcutInfo, null);
}
else
{
// Shortcut is not supported by your launcher
}
}
答案 0 :(得分:0)
没有,没有办法。这些附加选项是由启动器添加的,而不是由您应用程序本身添加的。显然,如果您的应用程序无法卸载(例如,它是系统应用程序),则没有卸载选项。
答案 1 :(得分:0)
首先从PlayStore下载图标包(加载以供选择)。 返回带有问题图标的屏幕。 按住您要更改的图标(即带有额外的Chrome徽标的图标),然后按编辑。 按更改图标。 它会为您提供从图标包中进行选择的选项,然后按一下。 然后,您将有大量的图标选择,因此请选择最能代表当前图标的图标,或者选择截然不同的图标。 然后点击确定。 它将更改图标,并且没有多余的徽章。
答案 2 :(得分:0)
ShortcutInfo和ShortcutManager都没有这样的选项。它取决于启动器,并且应该向用户显示此徽章,以便用户知道它将在哪个应用程序中打开。如果没有该图标,则无法识别添加了哪个应用程序(打开后除外),那不是那么用户友好……例如,您可以通过添加例如FB图标和“ Facebook”快捷方式名称,以及由此快捷方式打开的Activity
可能是伪造的登录屏幕。简而言之:出于安全原因,该图标应该/应该存在
在我的启动器中,长按会立即立即开始移动快捷方式(启动器图标没有下拉菜单),并且屏幕顶部(在“移动模式”下)没有“应用信息”选项,只有“删除” >
也许考虑添加一个带有应用名称的程式化为启动器图标的AppWidget?自API25开始提供快捷方式,从一开始就提供向导,并且自API26起您可以requestPinAppWidget(类似于添加快捷方式的对话框样式)
答案 3 :(得分:0)
private void createNotificationChannel() {
// Create the NotificationChannel, but only on API 26+ because
// the NotificationChannel class is new and not in the support library
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, name, importance);
channel.setDescription(description);
channel.setShowBadge(false)
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
}
答案 4 :(得分:-1)
尝试一下可能适合您。 mChannel.setShowBadge(false);
String id = "my_channel_01";
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
mChannel.setShowBadge(false);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(mChannel);
答案 5 :(得分:-1)
在Manifest.xml中添加以下行
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
在桌面上创建快捷方式的代码,
private void addShortcut() {
//Adding shortcut for MainActivity
//on Home screen
Intent shortcutIntent = new Intent(getApplicationContext(), BottomNavigationActivity.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "My Shortcut");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(getApplicationContext(),
R.drawable.alert_clock));
addIntent.putExtra("duplicate", false);
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(addIntent);
}