Android 如何获得带宽

Android 如何获得带宽,android,splash-screen,bandwidth,Android,Splash Screen,Bandwidth,我想在我的应用程序中得到带宽的值 在应用程序启动时,我会显示一个启动屏幕,并在AsyncTask中加载数据。我使用这样的处理程序来显示progressBar: new Handler().postDelayed(new Runnable() { @Override public void run() { Intent i = new Intent(Activity_Splash_Screen.this, Activ

我想在我的应用程序中得到带宽的值

在应用程序启动时,我会显示一个启动屏幕,并在AsyncTask中加载数据。我使用这样的处理程序来显示progressBar:

new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Intent i = new Intent(Activity_Splash_Screen.this, Activity_Main.class);
                i.putParcelableArrayListExtra("category", (ArrayList<? extends Parcelable>) ListOfCategory);
                startActivity(i);
                finish();
            }
        }, SPLASH_TIME_OUT);
new Handler().postDelayed(new Runnable()){
@凌驾
公开募捐{
意图i=新意图(活动\u启动\u屏幕。这个,活动\u主类);

i、 PutparcelableArrayListXTRA(“类别”)(ArrayList我认为这不是显示启动屏幕的最佳方式。启动屏幕必须在加载应用程序所需的所有必需数据之前显示。静态超时的方法无法正常工作(或在某些设备上根本无法工作)。为什么不尝试类似的方法

public class SplashActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        init();
    }

    private void init() {
        final AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>() {

            @Override
            protected Void doInBackground(Void... params) {
                //Do your initial data loading here...

                return null;
            }

            @Override
            protected void onPostExecute(Void result) {
                startActivity(new Intent(SplashActivity.this, MainActivity.class));
                finish();
            }

        };
        asyncTask.execute(null, null);
    }
}
公共类SplashActivity扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
init();
}
私有void init(){
final AsyncTask AsyncTask=新建AsyncTask(){
@凌驾
受保护的Void doInBackground(Void…参数){
//在这里进行初始数据加载。。。
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
startActivity(新意图(SplashActivity.this、MainActivity.class));
完成();
}
};
asyncTask.execute(null,null);
}
}

将这样的操作与处理时间挂钩是不好的,假设较慢的手机正在运行应用程序或较快的手机…为什么不显示asyncTask的进度
onPreExecute()
,然后隐藏它,然后打开下一个活动
onPostExecute()
,以防结果是成功的或其他情况。。。