Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按代码更改应用程序图标-android studio运行不再起作用_Android_Android Manifest_Alias - Fatal编程技术网

按代码更改应用程序图标-android studio运行不再起作用

按代码更改应用程序图标-android studio运行不再起作用,android,android-manifest,alias,Android,Android Manifest,Alias,如果用户希望更改我的应用程序图标,我会使用以下功能: public static void changeIcon(Activity activity, String addon) { // 1) adactivate all aliases List<String> names = AppIconStyle.getNames(); for (int i = 0; i < AppIconStyle.getNames().size(); i++)

如果用户希望更改我的应用程序图标,我会使用以下功能:

 public static void changeIcon(Activity activity, String addon)
{
    // 1) adactivate all aliases
    List<String> names = AppIconStyle.getNames();
    for (int i = 0; i < AppIconStyle.getNames().size(); i++)
    {
        ComponentName componentNameToDeactivate = new ComponentName(activity.getPackageName(), MainActivityMVP.class.getName() + "-" + names.get(i));
        activity.getPackageManager().setComponentEnabledSetting(componentNameToDeactivate, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
    }
    // 2) activate selected alias
    ComponentName componentNameToActivate = new ComponentName(activity.getPackageName(), MainActivityMVP.class.getName() + "-" + addon);
    activity.getPackageManager().setComponentEnabledSetting(componentNameToActivate, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}
publicstaticvoidchangeicon(活动活动、字符串加载项)
{
//1)激活所有别名
List name=AppIconStyle.getNames();
对于(int i=0;i
问题是,android studio run总是尝试启动我在设备上更改的默认别名。。。因此它找不到默认活动,因为此活动已停用

问题


我知道我可以在android studio运行配置中定义一个活动,但实际上我希望有一个配置可以启动设备上当前处于活动状态的别名。这有可能吗?类似于“检查清单并尝试一个接一个地启动一个启动器活动,直到其中一个活动正常工作”之类的内容…

在清单中添加权限:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
myLauncherIntent.setClassName(“your.package.name”、“YourLauncherActivityName”); myLauncherIntent.addFlags(Intent.FLAG\u活动\u新任务)

intent.putExtra(intent.EXTRA\u快捷方式\u intent,myLauncherIntent); intent.putExtra(intent.EXTRA_快捷方式_名称,“应用程序名称”); intent.putExtra(intent.EXTRA快捷方式图标资源,intent.shortcutionResource.fromContext(getApplicationContext(),R.drawable.app图标)); intent.setAction(“com.android.launcher.action.INSTALL_快捷方式”);
getApplicationContext().sendBroadcast(意图)

这并不能解决问题,只是显示另一种方式来更改图标,问题是android studio无法检测到所选的活动别名,如何解决这个问题?您使用的是哪个android版本?
Intent myLauncherIntent = new Intent();
Intent intent = new Intent();