Один из возможных способов получить данные о намерениях - создать пакет с точно таким же именем пакета и настроенными фильтрами намерений, а затем заменить исходный пакет поддельным пакетом в качестве нового получателя намерений.только тогда может быть использовано решение, представленное в этом ответе - потому что, если намерение не получено, нечего перечислять.
при возможности построить AOSP из источника,Вы все еще можете отредактировать класс Intent
и добавить дальнейшее ведение журнала.Uri mData
- это данные, которые вы ищете;где один конструктор в строке 6130 кажется наиболее часто используемым:
Intent(String action, Uri uri, Context packageContext, Class<?> cls)
, поэтому должна быть возможность войти в систему из этого конструктора (условие if
является необязательным):
public Intent(String action, Uri uri, Context packageContext, Class<?> cls) {
setAction(action);
mData = uri;
mComponent = new ComponentName(packageContext, cls);
if(cls.getSimpleName().equals("SomeActivity")) {
Log.d("Intent", "has leaked: " + action + ": " + uri.toString());
}
}