1. ホーム
  2. android

[解決済み] パッケージ名をどこからでも取得できるようにするには?

2022-03-24 02:38:56

質問

を利用できることを承知しています。 Context.getApplicationContext() View.getContext() を実際に呼び出すことができます。 Context.getPackageName() を使用して、アプリケーションのパッケージ名を取得します。

これらのメソッドは View または Activity オブジェクトは利用可能ですが、完全に独立したクラスで View または Activity は、そのような(直接的または間接的な)方法があるのでしょうか?

どのように解決するのですか?

アイデアは、パッケージ名をインスタンス化した静的変数を、メインアクティビティに持つことです。 そして、その変数を参照するだけです。

これを初期化するには、メインアクティビティの onCreate() メソッドを使用します。

クラスへのグローバル。

public static String PACKAGE_NAME;

では...

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    PACKAGE_NAME = getApplicationContext().getPackageName();
}

そして、そのアクセスは Main.PACKAGE_NAME .