Cómo verificar si esa llamada API es desde mi aplicación de Android o desde afuera (en el lado del servidor)

Puede trabajar en varios modelos de autenticación. Recibir llamadas de API solo desde su propio archivo APK es algo así como si desea su propia API privada. La respuesta dada por el usuario 10712659891907979628 es bastante válida y útil, afirma acerca de agregar un parámetro más en su API que se obtendrá del almacén de claves liberado y luego validarlos al final cuando reciba esos valores de parámetros.

Pratik Bhangale comentó sobre oAuth 2.0 lo suficientemente válido. Para crear una API robusta que se ajuste a estos se puede construir de ambas maneras, pero le sugiero que use la verificación de implementación de oAuth 2.0 debajo de los enlaces o simplemente google oAuth 2.0. Si existe la posibilidad de que otras API utilicen su API, implemente oAuth 2.0. Facebook, las API públicas de Google+ actualmente siguen a oAuth 2.0 para la autenticación del acceso a la API. Este método le proporciona una forma más escalable de crear API

Comprobar enlace:

OAuth 2.0 – OAuth

Para el código:
Código – OAuth

Hola, creo que debe usar la autenticación oAuth para comunicarse con el servidor. Genera un token de acceso que debe tener cuidado para que no se filtre.
Al usar este token de acceso, puede garantizar y autenticar las solicitudes solo desde su aplicación.

Visita esto para más información oauth.net