#android #uri #logcat
#Android #uri #logcat
Вопрос:
Я хотел бы скрыть / затемнить URL-адрес для просмотра видео в моем приложении. В настоящее время URL-адрес отображается в logcat при запуске videoactivity на устройстве. Я хотел бы максимально скрыть URL-адрес. Есть ли какой-либо способ подавить этот вывод в logcat?
Вот действие, вызывающее нарушение:
mVideoView = (VideoView) findViewById(R.id.surface_view);
mVideoView.setMediaController(new MediaController(this));
Bundle b = this.getIntent().getExtras();
path = b.getString("path");
mVideoView.setVideoURI(Uri.parse(path));
Комментарии:
1. пожалуйста, проверьте, добавляете ли вы к своему
<application>
тегу в своем манифестеandroid:debuggable="false"
, по-прежнему ли они отображаются в logcat?
Ответ №1:
Хм, может быть решение:
Если вы взглянете на источник VideoView
, вы увидите, что он вызывает MediaPlayer.setDataSource(..)
, который, в свою очередь, вызывает URI.getScheme()
и URI.getPath()
.
Ооочень, вы могли бы обойти свою проблему, создав подкласс URI и переопределив toString()
который используется Log. Заставьте его возвращать некоторую описательную информацию (название носителя?), Но не URL к носителю.
Комментарии:
1. это хорошая идея. Кроме того, как я могу заставить toString () возвращать что-то помимо uri и не влиять на медиаплеер. Я просматривал код и, похоже, не могу найти, где его вывод в журнал….
2. текущая дата: глядя на журнал, кажется, что его StagefrightPlayer регистрируется в logcat. Это .cpp. есть идеи, как это переопределить?