Obtener el nombre del archivo .APK original en Android

Estoy tratando de descubrir cómo obtener el nombre del archivo .apk original desde el que se instaló una aplicación. Sé que puede recuperar el nombre del paquete y el directorio de origen de la aplicación instalada utilizando elApplicationInfo clase (descrita aquí:Android: ¿cómo obtener el nombre del archivo apk mediante programación?) pero esto NO es lo que quiero.

Como ejemplo, supongamos que tengo una aplicación simple que se llamaTestApp (mediante elandroid:label etiqueta en elAndroidManifest.xml archivo). Además, supongamos que genero un archivo .apk para la aplicación anterior, cambie el nombre de dicho archivo .apk aTestApp_JohnDoe.apky luego envíe esa aplicación por correo electrónico a John Doe para su instalación. Cuando John Doe instala la aplicación haciendo clic en el archivo .apk, me gustaría poder leer el nombre de archivo del .apk original,TestApp_JohnDoe.apkque le envié Utilizando laApplicationInfo clase, más específicamente elsourceDir El método me da el directorio de instalación y el nombre de la aplicación,/data/app/TestApp.apk, que no es lo que estoy buscando. Sé que probablemente sea posible escanear todos los directorios disponibles buscando el archivo .apk original, pero espero evitar esto.

En resumen, me gustaría recuperar programáticamente el directorio de nombre de archivo / fuente .apk del instalador .apk, como/storage/sdcard0/Download/TestApp_JohnDoe.apk, a diferencia del directorio de nombre de archivo / fuente .apk de la aplicación instalada real,/data/app/TestApp.apk.

Respuestas a la pregunta(1)

Su respuesta a la pregunta