我已经将targetSdkVersion和compileSdkVersion升级到33。
现在获取警告getApplicationInfo(String,int)已弃用。
建议改用use getApplicationInfo(java.lang.String,android.content.pm.PackageManager.ApplicationInfoFlags),大家可以帮我使用更新后的方法。
示例:
@SuppressLint("HardwareIds")
public void initDbx(){
try {
ApplicationInfo app = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
dbx.game_id = String.valueOf(app.metaData.getInt("main_id"));
dbx.game_name = activity.getResources().getString(R.string.app_name);
dbx.package_name = activity.getApplication().getPackageName();
dbx.user_id = Settings.Secure.getString(activity.getContentResolver(), Settings.Secure.ANDROID_ID);
dbx.check_net = isConnectionAvailable();
//dbx.getUserInfos(activity);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
}
1条答案
按热度按时间8gsdolmq1#
getApplicationInfo(String packageName,int flags)
已在Android API 33中弃用。我们需要使用
getApplicationInfo(java.lang.String,android.content.pm.PackageManager.ApplicationInfoFlags)
您可以在
ApplicationInfoFlags
中传递零或其他组件信息标志的组合。