Когда нет подключения к Интернету, мое приложение не работает и когда пользователь закрывает интернет-соединение, пока приложение все еще работает, оно завершается. Классандроид приложение силы прекратить, когда нет подключения к Интернету
protected void onHandleIntent(Intent intent)
{
Log.d(Constants.TAG, "Service started");
List<RssItem> rssItems = null ;
try {
PcWorldRssParser parser = new PcWorldRssParser();
if(flag == 0) {
rssItems = parser.parse(getInputStream(RSS_LINK));
}
else if(flag == 2){
rssItems = parser.parse(getInputStream(RSS_LINK2));
}
else if(flag == 3){
rssItems = parser.parse(getInputStream(RSS_LINK3));
}
else if(flag == 4){
rssItems = parser.parse(getInputStream(RSS_LINK4));
}
else if(flag == 5){
rssItems = parser.parse(getInputStream(RSS_LINK5));
}
else if(flag == 6){
rssItems = parser.parse(getInputStream(RSS_LINK6));
}
else if(flag == 7){
rssItems = parser.parse(getInputStream(RSS_LINK7));
}
else if(flag == 8){
rssItems = parser.parse(getInputStream(RSS_LINK8));
}
else if(flag == 9){
rssItems = parser.parse(getInputStream(RSS_LINK9));
}
} catch (XmlPullParserException e) {
Log.w(e.getMessage(), e);
} catch (IOException e) {
Log.w(e.getMessage(), e);
}
Bundle bundle = new Bundle();
bundle.putSerializable(ITEMS, (Serializable) rssItems);
ResultReceiver receiver = intent.getParcelableExtra(RECEIVER);
receiver.send(0, bundle);
}
RssParser:
public List<RssItem> parse(InputStream inputStream) throws XmlPullParserException, IOException {
try {
XmlPullParser parser = Xml.newPullParser();
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(inputStream, null);
parser.nextTag();
return readFeed(parser);
} finally {
inputStream.close();
}
}
В этих двух методах я получаю NullPointerException
по адресу:
inputStream.close();
rssItems = parser.parse(getInputStream(RSS_LINK));
Просто замените все, если/другое на переключатель/случай – Suvitruf