package com.example.boxuegu.activity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.widget.TextView;
import com.example.boxuegu.MainActivity;
import com.example.boxuegu.R;
import java.util.Timer;
import java.util.TimerTask;
public class SplashActivity extends AppCompatActivity {
private TextView tv_version;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
init();
}
private void init() {
tv_version = findViewById(R.id.text);//获取显示版本号信息的控件
PackageManager manager = context.getPackageManager();
try {
//获取程序包信息
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), 0);
//将程序版本号信息设置到界面控件上
tv_version.setText("V" + info.versionName);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
tv_version.setText("V");
}
}
为什么这里写了 PackageManager manager = context.getPackageManager();反而报错呢?不应该先获取包管理器吗?然后在使用包里面的getPackageInfo方法的吗?为什么 PackageManager manager = context.getPackageManager();反而可以直接省略不写?详解必采纳