Ну у него побольше экран, а нутро совместимо - у меня при загрузке говорит "Samsung Galaxy S 1"olis wrote:А я не так понял - Infuse это S1 ? ok.
![Smile :)](./images/smilies/icon_smile.gif)
Ну у него побольше экран, а нутро совместимо - у меня при загрузке говорит "Samsung Galaxy S 1"olis wrote:А я не так понял - Infuse это S1 ? ok.
я бы сразу на cyanogenmod переходил. самсунги - это такие специальные ондроеды яббл-стайл. железо зашибись, а софт настолько говно, что если не хочется переходить на кастом, то лучше уж ойфонDmitry67 wrote:Вот думаю сразу перепрошивать с xda-developers или еще помучиться?
Рут не нужен. Точнее, он нужен, если есть желание вернуть взад USB Mass Storage из коробки. Для десктопов есть драйверы и утилиты, которые монтируют MTP. Для Виндузы не знаю, что ставить, а для Мака есть Alt Mounter, ну или родным Android File Transfer пользоваться, который, похоже, студент какой-то на гугловой летней практике написал. Как уже писал, по-моему даже в этом топике, убийство USB Mass Storage - это не прихоть Самсунга или Гугла, а evil doing from music labels.Dmitry67 wrote: Следит за твоими глазами. Параноя просто. Втыкаю его в USB копировать музыку в плеер. Ни-фи-га. Какие то две дуракция опции яблочного стиля. Ну разумеется в гугл. Читаю: надо ставить USB Mass Storage Enabler!!! Который еще требует root!!! Ну разумеется рут у меня был, но каково!!! Они что вообще?????????
Кстати, с новым Андроидом (4.3) похоже, что Гугл озаботились таки пермишеннамиИнтеррапт wrote:Что значит, что-то не то пишу? Нужен доступ к адресной книге, к возможности отправки SMS с ссылкой, локации и т.п (всякие фейсбуки app request и твиттеры - это само собой). Только нужно это не в момент инсталляции продукта, когда юзер совершенно не понимает, какого хрена крестикам-ноликам нужно читать его адресную книгу, а в момент, когда юзер в крестиках-ноликах сам нажимает кнопку Share with Friends и поэтому его абсолютно не напугает, что в ответ операционка его попросит подтвердить, что мол сейчас произойдет доступ к адресной книге. А если юзеру никогда в голову не взбредет нажать Share, то и пермишенны на чтение адресной книги спрашивать не нужно. Это гораздо правильней подход. iOS этот подход обеспечивает, Андроид - нет.АццкоМото wrote:Система пермишенов в ондроеде нуждается в переработке, это факт. Но ты тоже чтото не то похоже пишешь. чтобы чтото пейсануть в плюсики , твитырь, мордокнижку или линкдын, нужна их авторизация, перпендикулярная ондроедным пермишенам. А вот если кривожопые наворотили глюкавый колхоз - пичяль. Их пичяль
на 0.0001%Интеррапт wrote: насколько сильно нагрузка на девелоперов увеличится, учитывая, что нужно быть готовым к тому, что юзер может отрубить в любой момент любой пермишен в приложении.
если прога жить не может без каких-либо пермишенов, она выдает юзеру msg "так мол и так дорогой, не могу получить доктуп к ...., либо будь добр, позволь, либо не используй меня" и завершается.Интеррапт wrote: А вообще Гуглу нужно сделать концепцию разного уровня пермишенов. Ну типа essential, мол без которых прога жить не сможет и которые неотключаемые. И non-essential, которые можно отрубить в любой момент.
А как ты посчитала? Например, у тебя есть код, который использует вибратор. Прописан пермишен android.permission.VIBRATE. А юзер его отключил. Т.е. теперь вызовLjolja wrote:на 0.0001%
Ну мне просто интересно послушать о решении. Люблю готовые решения.dotcom wrote:Там же в тексте написано, что программа "сама говорит". Я уверен, что программы с таким развитым интеллектом могут и сами решить проблему.
Ты это знаешь или предполагаешь? Я сейчас за 2 минуты глянул - работа с сетью, например, не регулируется этой фичей. Работа с файловой системой - тоже. А ничего особенного приложение не делает. Пуш-сообщения не приходили, но зарегистрироваться никто не мешает.Интеррапт wrote:Т.е. теперь вызов
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
будет крешать программу с exception. Аналогично с сетью, файлами и еще десятком других возможностей.
Без понятия даже - факт, что Гугл пока вообще эту фичу "спрятал". Работа с файловой системой может и не регулируется, а вот чтение с SD карты - вполне может.АццкоМото wrote: Ты это знаешь или предполагаешь? Я сейчас за 2 минуты глянул - работа с сетью, например, не регулируется этой фичей. Работа с файловой системой - тоже.
В принципе у iOS подобный подход, если отказался дать читать контакты, то вернется пустой список контактов.АццкоМото wrote: Поэтому есть версия - просто версия, догадка, что никаких эксепшенов кидаться не будет. А управлять пермишенами можно будет только теми, которые могут gracefully послать нафиг приложение. Контакты прочитать? Да пожалуйста, их нету. Сообщение получить? Да оно просто не будет доставлено. Отослать? Либо молча не отошлется, либо какой-нибудь дженерик/нетворк еррор.
Да, я тоже не думаю, что Гугл так захочет все сломать, но с другой стороны Гугл публично и не выкатил эту фичу. Поиграюсь потом, напишу какое-то простенькое приложение, которое читает адресную книгу (ну или гугл example запущу) и через эту 3rd party app - отключу пару пермишинов. Посмотрим, выкинет ли оно с exception.АццкоМото wrote: Еще раз, чисто предположение. Ибо ТАК сломать существующие приложения новым хендлингом пермишенов гугл не должен решиться
Для этого нужно, чтобы методы в Android API были помечены подобными аннотациями, но ничего подобного там нет. Собственно и в стандартной Джаве такого нет. Например коннектишься ты к сети, а твой Security Manager запрещает это делать. Никак ты это в compile time не отловишь. Т.е. как бы твой поинт я понимаю, но обычно "системные" фреймворки такое не энфорсят.Zorkus wrote:Я, в принципе,противник checked exceptions в Java (со времен EJB). Но подумываю, что может, экспешены которые выкидываются по пермишенам должны быть checked?
Вообще, на такие случай, в языке должна быть опция пометить заданный Exception class, скажем, PermissionAccessViolationException, compile-time аннотацией @Checkable. И кастомный процессор аннотаций должен при выставленной опции -DcheckCheckableException показывать их как ошибки.
Интеррапт, я поди велосипед изобретаю же, есть такое?
Написать утилиту, которая будет принимать джар на вход и список желаемых эксепшенов, и через BCEL или подобные тулзы модифицировать джар?Интеррапт wrote:Для этого нужно, чтобы методы в Android API были помечены подобными аннотациями, но ничего подобного там нет.Zorkus wrote:Я, в принципе,противник checked exceptions в Java (со времен EJB). Но подумываю, что может, экспешены которые выкидываются по пермишенам должны быть checked?
Вообще, на такие случай, в языке должна быть опция пометить заданный Exception class, скажем, PermissionAccessViolationException, compile-time аннотацией @Checkable. И кастомный процессор аннотаций должен при выставленной опции -DcheckCheckableException показывать их как ошибки.
Интеррапт, я поди велосипед изобретаю же, есть такое?
I usually use try ... catch block in questionable cases. I'd put an assumption that you do have permission from the beginning as wrong. So, if the code is written with catch exception, there shouldn't be an issue, it you got a piece of code from somewhere in internet and it's not as great as you'd expect - don't complainИнтеррапт wrote:А как ты посчитала? Например, у тебя есть код, который использует вибратор. Прописан пермишен android.permission.VIBRATE. А юзер его отключил. Т.е. теперь вызовLjolja wrote:на 0.0001%
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
будет крешать программу с exception. Аналогично с сетью, файлами и еще десятком других возможностей. Сотни разных функций могут зависеть от десятков разных пермишинов.
I'd expect you make this yet while you write the code, not thereafter when something bad happenedИнтеррапт wrote:
прикинуть, какая строчка кода может вызвать exception (а это unchecked exception
debug somebody else code is always more laborious work than to write your ownИнтеррапт wrote:
(а их не так просто и найти, особенно если не с нуля код пишешь, а нужно модифицировать уже написанный код). Я лично вижу дофигища работы и еще и с неплохой вероятностью ошибки.
А теперь, если несложно обоснуй, каким образом у тебя почти нулевой эффорт получился?