How can I know a signal's bandwidth before sampling?
It depends on the purpose of the sampling.

If you need to sample a signal accurately - such as recording music where distortion is undesirable, you know the signal's bandwidth at the ADC, because you already ran it through a low pass filter.

This also works with slices of bandwidth above the Nyquist frequency or even above the sample rate, provided the slice has been selected via a narrowband filter. For example the output of a narrow 10.7 MHz IF filter may be sampled at 10 MHz, and will appear as signals around 0.7 MHz. This is known as undersampling.

If you need to detect any signal activity but you're most interested in the presence or absence of signals, or the envelope, or total energy, so that accuracy is less important, then just sample the signal, and be aware that aliasing introduces ambiguity in the frequency of any components. 

Comparing two sampled channels, one via a low pass filter and one without, will alert you to activity outside the Nyquist frequency rate; if you need to do something about that, then you can take further steps (such as, bandpass filters ahead of the ADC to identify which spectral image is active, or changing the sample rate).