我想在我的应用程序中获取带宽值。
在启动应用程序时,我会显示一个启动画面,并在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的值。
非常感谢你的帮助!
答案 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);
}
}