使用此代码仅在第一次启动应用时才发出Activity
加载但遇到问题,假设第一次启动的Activity
为{ {1}},WebView
正在加载,WebView
完成得太快。这是我第一次使用Activity
加载的代码。
Activity
这是第一次加载的活动的代码
count = readSharedPreferenceInt("cntSP","cntKey");
if(count==0){
Intent intent = new Intent();
intent.setClass(MainActivity.this, TemporaryActivity.class);
startActivity(intent);
count++;
writeSharedPreference(count,"cntSP","cntKey");
}
//Read from Shared Preferance
public int readSharedPreferenceInt(String spName,String key){
SharedPreferences sharedPreferences = getSharedPreferences(spName,Context.MODE_PRIVATE);
return tempInt = sharedPreferences.getInt(key, 0);
}
//write shared preferences in integer
public void writeSharedPreference(int ammount,String spName,String key ){
SharedPreferences sharedPreferences = getSharedPreferences(spName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(key, ammount);
editor.commit();
}
答案 0 :(得分:2)
好。您已实施此方法onPageFinished()
,并在该方法内的onCreate()
内执行此片段。
public void onPageFinished(WebView view, String url) {
//You code, which you had put inside onCreate() should go here.
}
修改强>
Intent intent = new Intent(MainActivity.this, TemporaryActivity.class);
startActivity(intent);
...
新编辑
public class C01561 extends WebViewClient {
private Context context;
C01561(Context context) {
this.context = context;
}
public void onPageFinished(WebView view, String url) {
Reg_Status.this.pBar.setVisibility(ProgressBar.INVISIBLE);
Intent intent = new Intent(context, TemporaryActivity.class);
startActivity(intent);
}
}
当您创建WebViewClient
的实例时,请确保传递MainActivity
上下文。
webView.setWebViewClient(new C01561(MainActivity.this));
答案 1 :(得分:1)
创建一个处理程序以延迟第二个活动的开始。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent();
intent.setClass(MainActivity.this, TemporaryActivity.class);
startActivity(intent);
}
}, TIME_OUT);
现在,在if条件中调用此处理程序并相应地设置TIME_OUT
。