Erstellen Sie ein Java-Modul, das beim Starten Ihrer App zunächst ausgeführt werden soll. Dieses Modul würde die Android-Anwendungsklasse erweitern und alle globalen App-Variablen initialisieren sowie app-weite Dienstprogrammroutinen enthalten -
public class MyApplicationName extends Application {
private final String PACKAGE_NAME = "com.mysite.myAppPackageName";
public String getPackageName() { return PACKAGE_NAME; }
}
Dies könnte natürlich Logik beinhalten, um den Paketnamen vom Android-System zu erhalten; Der oben genannte Code ist jedoch kleiner, schneller und sauberer als der von Android.
Stellen Sie sicher, dass Sie einen Eintrag in Ihre AndroidManifest.xml-Datei einfügen, um Android anzuweisen, Ihr Anwendungsmodul auszuführen, bevor Sie Aktivitäten ausführen.
<application
android:name=".MyApplicationName"
...
>
Geben Sie dann ein, um den Paketnamen von einem anderen Modul zu erhalten
MyApp myApp = (MyApp) getApplicationContext();
String myPackage = myApp.getPackageName();
Durch die Verwendung eines Anwendungsmoduls erhalten Sie auch einen Kontext für Module, die einen Kontext benötigen, aber keinen haben.