Для ленивых людей, подобных мне, просто используйте
public static Intent createExplicitFromImplicitIntent(Context context, Intent implicitIntent) {
// Retrieve all services that can match the given intent
PackageManager pm = context.getPackageManager();
List<ResolveInfo> resolveInfo = pm.queryIntentServices(implicitIntent, 0);
// Make sure only one match was found
if (resolveInfo == null || resolveInfo.size() != 1) {
return null;
}
// Get component info and create ComponentName
ResolveInfo serviceInfo = resolveInfo.get(0);
String packageName = serviceInfo.serviceInfo.packageName;
String className = serviceInfo.serviceInfo.name;
ComponentName component = new ComponentName(packageName, className);
// Create a new intent. Use the old one for extras and such reuse
Intent explicitIntent = new Intent(implicitIntent);
// Set the component to be explicit
explicitIntent.setComponent(component);
return explicitIntent;
}
. Отправьте контекст и ваше намерение в этом методе и получите намерение использовать результат.
Вы могли бы узнать это, прочитав спецификацию SVG .
Буква команды может быть исключена в последующих командах, если одна и та же команда используется несколько раз подряд
blockquote>Если существует последовательность команд пути, которые являются одинаковыми, то вам не нужно повторять команду (например,
c
). Вы можете просто повторить параметры координат. Таким образом, ваш путь эквивалентен:M 62.9 14.9 c -25-7.74-56.6 4.8-60.4 24.3 c -3.73 19.6 21.6 35 39.6 37.6 c 42.8 6.2 72.9-53.4 116-58.9 c 65-18.2 191 101 215 28.8 c 5-16.7-7-49.1-34-44 c -34 11.5-31 46.5-14 69.3 c 9.38 12.6 24.2 20.6 39.8 22.9 c 91.4 9.05 102-98.9 176-86.7 c 18.8 3.81 33 17.3 36.7 34.6 c 2.01 10.2.124 21.1-5.18 30.1