Ups*_*own 9 navigation android kotlin deprecation-warning android-tiramisu
我已经将targetSdkVersion和compileSdkVersion升级到33。
现在收到警告 getApplicationInfo(String,int) 已弃用。
建议使用 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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我这样做了:
@SuppressLint("HardwareIds")
public void initDbx(){
try {
// ApplicationInfo app = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
ApplicationInfo app = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.ApplicationInfoFlags.of(0));
}else{
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
收到错误(无法解析符号“app”)
dbx.game_id = String.valueOf(app.metaData.getInt("main_id"));
Run Code Online (Sandbox Code Playgroud)
我创建了局部变量“app”:
PackageItemInfo app;
dbx.game_id = String.valueOf(app.metaData.getInt("main_id"));
Run Code Online (Sandbox Code Playgroud)
收到错误(变量“app”可能尚未初始化)
我初始化变量;我都尝试过:
PackageItemInfo app = null;
dbx.game_id = String.valueOf(app.metaData.getInt("main_id"));
Run Code Online (Sandbox Code Playgroud)
和:
PackageItemInfo app = new PackageItemInfo();
dbx.game_id = String.valueOf(app.metaData.getInt("main_id"));
Run Code Online (Sandbox Code Playgroud)
但我不断收到同样的警告,这次我什至无法在模拟器中运行该应用程序。
getApplicationInfo(String packageName,int flags)在 Android Api 33 中已被弃用。
我们需要使用getApplicationInfo(java.lang.String,android.content.pm.PackageManager.ApplicationInfoFlags)
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
ApplicationInfo app = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.ApplicationInfoFlags.of(0));
}else{
ApplicationInfo app = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
}
Run Code Online (Sandbox Code Playgroud)
您可以在 中传递零个或其他组件信息标志的组合ApplicationInfoFlags。更多详细信息请参见ApplicationInfoFlags
编辑:完成 initDbx() 方法
public void initDbx(){
try {
ApplicationInfo app;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
app = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.ApplicationInfoFlags.of(0));
}else{
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();
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5176 次 |
| 最近记录: |