FireBase通知で作業しており、コンソールに入力したWebviewページに通知する通知を送信できます。IFとELSEの両方のステートメントを一緒に実行しています
問題は、IF文が一致するとelse文も発生するということですが、これが原因である可能性があります。
if(getIntent().getExtras()!=null) {
for (String key : getIntent().getExtras().keySet()) {
if (key.equals("url")){
mwebView.loadUrl("http://example.com/" + getIntent().getExtras().getString(key));
}else {
mwebView.loadUrl("http://example.com");
}
}
}
同時に実行するため、アプリケーションがクラッシュします。その後、
if(getIntent().getExtras()!=null)
とelse文をロードします。私はアプリに通常の方法をロードする際
はまた、それはと一致します。 getExtras
はnull
ですか?私が最初にそれが次のステートメントを使用して、アプリケーションの新しいインスタンスをインストール
:
if(getIntent().getExtras()==null) {
if (haveNetworkConnection()) {
mwebView.loadUrl("http://example.com");
} else {
mwebView.loadUrl("file:///android_asset/myerrorpage.html");
}
}
更新:
このことが起こって、なぜ私は見つけることができないので、私は、別のアプローチをしようとしていますどのようにループ外の変数を次のように使用するのですか?
if(getIntent().getExtras()!=null) {
for (String key : getIntent().getExtras().keySet()) {
String valuex = getIntent().getExtras().getString(key);
}
}
if (haveNetworkConnection()) {
mwebView.loadUrl("http://example.com/" + valuex);
} else {
mwebView.loadUrl("file:///android_asset/myerrorpage.html");
}
同時に実行するとどういう意味ですか?それは可能ではありません。 'if(getIntent()。getExtras()== null)'または 'if(key.equals(" url "))'? – Opiatefuchs
'if(key.equals(" url "))' –
あなたはmichelの答えにコメントしました。両方に乾杯して、両方が実行されているということが原因です。それはあなたの質問に投稿されたコードがまったく同じではないことを示唆しています。私自身の経験から、少しの細部は見落とされる可能性があるので、あなたのプロジェクトから完全なコードを投稿して、何かを残してはいけません。 – Opiatefuchs