I want to detect the tap on the phone (Windows 7 OS), but not on the touch screen (probably on the side of the device). I am not sure whether it could be implemented with the accelerometer data. any idea?
It depends on the app, but probably we can consider Tap as Shake. If so take a look on
Shake that Windows Phone 7 and detect it
Windows Phone Shake Gestures Library
or similar. There is a ShakeGestureEventArgs arg that holds a ShakeType property that identifies the direction of the shake gesture.