gpt4 book ai didi

android - 我们可以使用用户指定的图像文件(通常是 SD 卡)作为 ICON 创建应用程序快捷方式吗

转载 作者:搜寻专家 更新时间:2023-11-01 09:03:42 24 4
gpt4 key购买 nike

我可以使用以下方法创建应用程序快捷方式。

  public static void CreateShortCut(Context context, String ShortCutName){
Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
shortcutintent.putExtra("duplicate", false);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, ShortCutName);

/* Parcelable icon = Intent.ShortcutIconResource.fromContext(context.getApplicationContext(), R.drawable.iconfromresource); */ // This work great
Parcelable icon = BitmapFactory.decodeFile("/sdcard/myownappicon.png"); /* This doesnt work, Doesnt show any error either.... it just gives Android Default icon instead of my own myownappicon.png */
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(context.getApplicationContext() , DynamicSplashScreen.class));
context.sendBroadcast(shortcutintent);
}

现在我的问题是,我们可以使用 SD 卡中用户指定的图标文件创建应用程序快捷方式吗?可行吗?

我已经尝试使用带有 decodefile 的 Bitmapfactory,不幸的是它没有用。如果这是可行的,请告诉我哪里出错了。

谢谢。

最佳答案

能够为我自己的问题找到解决方案...BitmapFactory.decodeFile 可以解决问题。

 public static void CreateShortCut(Context context, String ShortCutName, String ImageFileName){

Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
shortcutintent.putExtra("duplicate", false);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, ShortCutName);
Bitmap bmp = BitmapFactory.decodeFile(ImageFileName);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(bmp, 72, 72, true);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON, scaledBitmap);
shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(context.getApplicationContext() , SplashScreen.class));
context.sendBroadcast(shortcutintent);


}

谢谢。

关于android - 我们可以使用用户指定的图像文件(通常是 SD 卡)作为 ICON 创建应用程序快捷方式吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13467732/

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