Cambiar la fecha del sistema del teléfono de Android en el botón haga clic en la aplicación de Android
Estoy probando algunas cosas con android como estoy aprendiendo desarrollo android, ahora tengo un escenario aquí.
- Quiero cambiar la fecha del sistema del teléfono android a través de mi aplicación ( primero me gustaría saber si esto es posible? )
El diseño es el siguiente
- ¿Cómo puedo encontrar sábados y domingos en un mes determinado?
- Android obtiene la fecha antes de 7 días (una semana)
- Cómo seleccionar datos entre dos intervalos de fechas en android SQLite
- androide timestamp parsing ido mal (siempre en 1970)
- Mala "semana del año" en Android
Ahora lo que quiero es cuando el usuario hace clic en el botón de la fecha debe aumentar por decir 20 días ¿cómo puedo hacer esto.
No puedo empezar … por favor ayuda
- Shamsi / Jalali Calender en Android con parámetros de cadena
- ¿Cómo puedo encontrar el número de años entre dos fechas en android?
- Obteniendo diferencia entre dos fechas Android
- Mostrar el tiempo transcurrido desde que presionaste un botón en Android
- Fecha y hora de la fecha
- ¿Cómo saber si Locale utiliza formato de 12 o 24 horas?
- Fechas de genarate entre dos fechas en android
- ¿Cómo obtendría una cadena de fecha corta basada en la configuración regional para Android?
Como ya dije que es imposible. Necesita el permiso SET_TIME
y el permiso sólo lo concede el sistema a las aplicaciones que están en la imagen del sistema Android. Si puede obtener ese privilegio, puede cambiar fácilmente con AlarmManager. SystemClock.setCurrentTimeMillis
escribe el archivo / dev / allarm
adb shell ls -l /dev/alarm crw-rw-r-- system radio 10, 46 2013-06-12 10:46 alarm
-
c
permanece en elCharacter special file (stored in /dev).
- El sistema es el propietario del archivo
- La radio es el grupo
El sistema y la radio tienen permisos de lectura y escritura (rw-, bits de árbol, valor int 6), los demás tienen sólo el permiso de lectura (r, valor int 4). Así que el permiso de archivo es 664
. Si puede obtener usuario root (ejecutar su
), puede cambiar el permiso de este archivo y escribió en él un nuevo valor. Se ha llenado un informe de error para solicitar a google que permita que las aplicaciones modifiquen programaticamente la fecha del móvil, pero se ha declinado. Aquí la referencia
En Android, la única forma en que una aplicación tiene acceso de escritura a la hora y fecha es obtener el permiso SET_TIME, que sólo es posible para "aplicaciones que están en la imagen del sistema Android o que están firmadas con el mismo certificado que la aplicación que declaró el permiso." (Véase el nivel de protección signatureOrSystem ).
La única forma de que su aplicación alcance este nivel de protección es ejecutarse en un dispositivo con raíz o crear y firmar su propia android rom.
Si este es su caso, puede utilizar fácilmente AlarmManager o simplemente la instancia de Calendar .
¡Buena suerte!
Las aplicaciones de usuario normales no tienen permiso para cambiar la hora del dispositivo. Lea la respuesta por cashbash en el siguiente post para la opción alternativa.
Desafortunadamente, blackbelt tiene razón; Android nos permite hacer un montón de cosas geniales, pero cambiar el tiempo del sistema mediante programación no es uno de ellos.
Desde que veo que usted está buscando fuentes más creíbles / oficiales, le sugiero que echa un vistazo a este billete abierto con Google , lo que sugiere que este es un problema abierto – que debería funcionar, pero no, y no parece Google va a solucionarlo en cualquier momento pronto. La esencia de ello es que el nivel de protección SET_TIME se establece más alto de lo que debería ser. (Para obtener más información sobre los permisos, consulte aquí )
Aunque esto no es lo mismo que cambiar el tiempo mediante programación, todavía puede hacer que el usuario cambie la hora del sistema para usted si por alguna razón usted necesita tiempo del sistema para ser cambiado. Este hilo explicará cómo realizar la implementación si desea seguir esa ruta.
Espero que esto fue información útil!
- Android-opencv conversión mat a escala de grises con el uso de matToBitmap / bitmapToMat
- Convertir un entero en una cadena sin asignar memoria