Установите идентификатор выбранного пункта меню с помощью setSelectedItemId
:
bottomNavigationView.setSelectedItemId(R.id.item_id);
Этот метод стал доступен из библиотеки поддержки Android 25.3.0.
Этот метод работает для любого исполняемого файла, расположенного в папке, которая определена в переменной PATH Windows:
private string LocateEXE(String filename)
{
String path = Environment.GetEnvironmentVariable("path");
String[] folders = path.Split(';');
foreach (String folder in folders)
{
if (File.Exists(folder + filename))
{
return folder + filename;
}
else if (File.Exists(folder + "\\" + filename))
{
return folder + "\\" + filename;
}
}
return String.Empty;
}
Затем используйте его следующим образом:
string pathToExe = LocateEXE("example.exe");
Как и метод Фредрика, он находит пути только для некоторых исполняемые файлы
Используя код C #, вы можете найти путь для некоторых excutables следующим образом:
private const string keyBase = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths";
private string GetPathForExe(string fileName)
{
RegistryKey localMachine = Registry.LocalMachine;
RegistryKey fileKey = localMachine.OpenSubKey(string.Format(@"{0}\{1}", keyBase, fileName));
object result = null;
if (fileKey != null)
{
result = fileKey.GetValue(string.Empty);
fileKey.Close();
}
return (string)result;
}
Используйте его так:
string pathToExe = GetPathForExe("wmplayer.exe");
Однако вполне может быть, что нужное вам приложение не есть ключ пути к приложению.
Эта статья на stackoverflow.com описывает, как связать приложение с определенным расширением файла.
Возможно, вы могли бы использовать этот метод, чтобы связать приложение с определенными расширениями, такими как avi или wmv - либо Medial Player, либо, в вашем случае, VLC player?