如何在react-native中点击按钮时更改应用程序图标(iOS和Android都有)
一个月一次x一个月一次x一个月二次x一个月三次x一个月四次x一个月五次x一个月六次x一个月七次x一个月八次x一个月九次x一个月十次
// disable new icon
manager.setComponentEnabledSetting(
new ComponentName(appContext, "com.sample.MainActivityAlias"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
map.putString("successMsg", "Icon changed to default successfully");
promise.resolve(map);
} catch (Exception e) {
e.printStackTrace();
promise.reject("EXCEPTION", e);
}
}
@ReactMethod
public void setNewIcon(Promise promise) {
String defaultPackageName = "NOT_FOUND";
try {
WritableMap map = Arguments.createMap();
defaultPackageName = appContext.getPackageName() + ".MainActivity";
String newPackageName = defaultPackageName + "Alias";
// disable old icon
PackageManager manager = appContext.getPackageManager();
manager.setComponentEnabledSetting(new ComponentName(appContext, "com.sample.MainActivity"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
// enable new icon
manager.setComponentEnabledSetting(
new ComponentName(appContext, "com.sample.MainActivityAlias"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
map.putString("successMsg", "Icon changed successfully");
promise.resolve(map);
} catch (Exception e) {
e.printStackTrace();
promise.reject("EXCEPTION", e);
}
}
x 1个月11个月1个月12个月1个月1个月13个月1个月1个月14个月1个月1个月15个月1个月1个月16个月1个月1个月17个月1个月18个月1个月1个月19个月1个月20个月1个月21个月1个月22个月1个月23个月1个月
1条答案
按热度按时间n53p2ov01#
我不认为你需要在java端做它。我认为你可以这样做:
可以将
imgSource
存储在state中,然后更改handlePress
中的变量,如下所示: