Usar o atributo “strings” é uma boa maneira de obter recursos de string em atividades / fragmentos. Embora às vezes você precise de informações de configuração de contexto, que estão prontamente disponíveis na inicialização do aplicativo. Um dos casos de uso é obter chaves API de terceiros. Podemos usar “metadados” para fazer isso. Aqui está um pseudocódigo:
<meta-data
android:name="com.myapp.app.MY_API_KEY"
android:value="myapkikeyvalue" />
Recuperando a chave api:
public static final String METADATA_KEY_API_KEY = "com.myapp.app.MY_API_KEY";
final PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo;
try {
appInfo = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
} catch (final NameNotFoundException e) {
throw new RuntimeException(e);
}
final Bundle metadata = appInfo.metaData;
mKey = metadata.getString(METADATA_KEY_API_KEY);