when i write in adb:
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
i get the error output:
'grep' is not recognized as an internal or external command, operable program or batch file.
but if i split it to two operators:
adb shell
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
it works okay (it gives the main activity name of the running app).
if the only way is to split it to two - that meens that first enter to adb shell, and then run the Inquire, there is a way to do it from c#?
in my code, it only does the first part (entering shell).
here is my code:
public static void startNewProccess(object startInfo)
{
p = new Process();
p.StartInfo = (System.Diagnostics.ProcessStartInfo)startInfo;
p.Start();
p.WaitForExit();
}
public static void getMainActivity()
{
var startInfo1 = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @ADB_FOLDER,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = "cmd.exe",
Arguments = "/c" + " adb shell",
//adb shell am start -n com.package.name/com.package.name.ActivityName
UseShellExecute = false
};
startNewProccess(startInfo1);
var startInfo2 = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @ADB_FOLDER,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = "cmd.exe",
Arguments = "/c" + " dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'",
UseShellExecute = false
};
}
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
i get the error output:
'grep' is not recognized as an internal or external command, operable program or batch file.
but if i split it to two operators:
adb shell
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
it works okay (it gives the main activity name of the running app).
if the only way is to split it to two - that meens that first enter to adb shell, and then run the Inquire, there is a way to do it from c#?
in my code, it only does the first part (entering shell).
here is my code:
public static void startNewProccess(object startInfo)
{
p = new Process();
p.StartInfo = (System.Diagnostics.ProcessStartInfo)startInfo;
p.Start();
p.WaitForExit();
}
public static void getMainActivity()
{
var startInfo1 = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @ADB_FOLDER,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = "cmd.exe",
Arguments = "/c" + " adb shell",
//adb shell am start -n com.package.name/com.package.name.ActivityName
UseShellExecute = false
};
startNewProccess(startInfo1);
var startInfo2 = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @ADB_FOLDER,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = "cmd.exe",
Arguments = "/c" + " dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'",
UseShellExecute = false
};
}