#android
#Android
Вопрос:
Я попытался выполнить следующий фрагмент кода.Если я ввожу имена сайтов с http [например: http://www.google.com
], я получаю правильный вывод.В противном случае я получаю принудительное закрытие. Даже если я улавливаю activitynotfoundexception, тогда я также получаю ActivityNotFoundException
.
Помогите мне.
try {
Button browse=(Button)findViewById(R.id.Browse);
browseURl=(EditText)findViewById(R.id.BrowseUrl);
browse.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent invokeURI=new Intent(Intent.ACTION_VIEW,Uri.parse(browseURl.getText().toString()));
startActivity(invokeURI);
}
});
} catch (ActivityNotFoundException ex) {
// TODO: handle exception
Log.e("BrowseURI","Failed Browsing the given URI",ex);
}
Комментарии:
1. Проверьте журналы, чтобы увидеть, какое исключение оно выдает. Может быть что-то вроде URISyntaxException.
Ответ №1:
Вам нужно перехватить исключение в вашем событии onClick, потому что вы получаете исключение после нажатия, а не при подключении обработчика события.
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent invokeURI=new Intent(Intent.ACTION_VIEW,Uri.parse(browseURl.getText().toString()));
try {
startActivity(invokeURI);
}
catch (ActivityNotFoundException ex) {
Log.e("BrowseURI","Failed Browsing the given URI",ex);
}
}
Комментарии:
1. @Scottie..thanks….So где я должен разместить блок try-catch ….. можете ли вы, пожалуйста, объяснить это …. я не понял вашу точку зрения…..
2.
try {startActivity(invokeURI);} catch (ActivityNotFoundException ex) { Log.e(...); }
3. @Scottie …. большое спасибо ….. приятно познакомиться …. мне нужна от вас еще одна помощь … можете ли вы предложить мне хорошую книгу для изучения базового и продвинутого Android…
4. Рад, что это помогло вам! Не могли бы вы отметить этот вопрос как ответивший? Что касается книг, то Pro Android 2 в сочетании с самой документацией Android SDK — это хорошая комбинация для начала. Приветствия