Makaroff
-
Постов
10 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Makaroff
-
-
А без SuperSU вообще никаких вариантов? На "чистом" устройстве?
Это тоже не прокатит?: https://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature
-
2 минуты назад, ZuBy сказал:
а перед этим, запрос на su делали?
Нет, а как?
-
2 часа назад, ZuBy сказал:
1) через SuperUser (Только этот способ остается)
С помощью Runtime.getRuntime()?
TJRuntime.JavaClass.getRuntime().exec(StringToJString('su -c reboot'));
Я пробовал в разных вариациях, у меня error exec при выполнении. Работающий пример никак не могут найти.
-
В 12.10.2016 в 23:44, Brovin Yaroslav сказал:
StringToJString
Спасибо. Я подозревал, что должно быть нечто подобное, перелопатил кучу библиотек, но до Helpers не дошел :)))
В 13.10.2016 в 04:49, Pax Beach сказал:Просьба выложить для всех пример кода решения для перезагрузки телефона.
Были грабли с использованием? Какие пермишены потребовались?
К сожалению, то что я приводил выше по аналогии с явой не заработало. Вылетает.
Доступ ставил как советуют для явы: reboot и wake lock
-
5 часов назад, Brovin Yaroslav сказал:
Понял, тогда посмотрите готовые обертки для всего андроид апи.
Спасибо. Скачал библиотеки. Теперь возникла проблема с преобразованием типов string -> jstring :)))
ЦитатаPowerObj := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.POWER_SERVICE);
PowerManager := TJPowerManager.Wrap((PowerObj as ILocalObject).GetObjectID);
PowerManager.reboot('null'); //'null' должен быть в jstringНе понимаю, как конвертировать.
-
16 минут назад, Brovin Yaroslav сказал:
Androidapi.JNI.OS.pas файл содержит JPowerManager.
В XE10 в Androidapi.JNI.OS.pas нет.
-
Не могу разобраться, каким образом можно выполнить перезагрузку или выключение андроид-устройства.
Для Java существует класс PowerManager, но в JNI такого я не нашел.
Подскажите пожалуйста решение.
-
6 часов назад, ZuBy сказал:
попробуй так:
uses Androidapi.JNI.GraphicsContentViewText, ... AudioObj := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.AUDIO_SERVICE);
Да. Заработало. В предыдущих версиях тоже без проблем. Спасибо большое!
-
Здравствуйте.
Столкнулся с проблемой вылета приложения при работе AudioManager'а в Lollipop 5.0.1 (выше не проверял). При этом, в 4.2.2 и 4.4.2 всё отлично работает.
Код у меня аналогичный примеру выше. Есть у кого-нибудь идеи по решению такой проблемы?
procedure TForm1.Button3Click(Sender: TObject); var AudioObj: JObject; AudioManager: JAudioManager; begin AudioObj := TAndroidHelper.Activity.getSystemService(TJActivity.JavaClass.AUDIO_SERVICE); AudioManager := TJAudioManager.Wrap((AudioObj as ILocalObject).GetObjectID); AudioManager.setStreamVolume(TJAudioManager.JavaClass.STREAM_MUSIC, 15, 0); end;
Как управлять питанием устройства
в Использование Android API
Опубликовано · Изменено пользователем Makaroff
Так для этого и существуют "разрешения". Я смотрю возможности приложения при установке и сам принимаю решение о том, ставить его или нет. А так получается, что меня ограничивают в свободе выбора и толкают фактически на взлом устройства.
В любом случае спасибо за помощь.