如何获得带宽

时间:2014-10-01 09:08:21

标签: android splash-screen bandwidth

我想在我的应用程序中获取带宽值。

在启动应用程序时,我会显示一个启动画面,并在AsyncTask中加载数据。我使用像这样的Handler来显示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);

但是,如果带宽不是最佳的,则加载数据的时间大于变量SPLASH_TIME_OUT的时间。

因此,我想得到带宽的值来调整我的变量SPLASH_TIME_OUT的值。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我不认为这是展示闪屏的最佳方式。必须显示启动屏幕,直到加载应用程序所需的所有必需数据。静态超时的方法不能正常工作(或者在某些设备上根本不起作用)。为什么不尝试这样的事情?

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);
    }
}