¿Es posible configurar System DateTime de mi aplicación para Android?
Quiero fijar el reloj del sistema por SystemClock.setCurrentTimeMillis
, pero resolvió el siguiente error:
"Unable to open alarm driver: Permission denied"
A continuación se muestra la descripción de setCurrentMillis
API del sitio de desarrolladores de Android:
- Actividad de inicio de la URL
- Android: Intención de búsqueda no funciona
- Configuración de Android AppWidget - Comienza en una nueva tarea
- OnCreate () no está siendo llamado
- ¿Es posible incluir / importar código al Manifiesto de Android?
public static boolean setCurrentTimeMillis (long millis)
Desde: API Nivel 1 Establece el tiempo de pared actual, en milisegundos. Requiere que el proceso de llamada tenga los permisos adecuados.
Devuelve si el reloj se ajustó correctamente a la hora especificada.
Por lo tanto, la aplicación necesita obtener el permiso para establecer la hora. En AndroidManisfest.xml he insertado android.permission.SET_TIME
pero tengo el mismo error de mensaje.
He intentado varias soluciones encontradas en Internet y parece que no es posible establecer el tiempo del sistema sin root incluso en FroYo (Android 2.2) donde se introdujo android.permission.SET_TIME
, la aplicación normal no puede obtener este permiso porque / dev / Archivo de alarma tiene 664 permission
. Así que la solución es cambiar el permiso en 666
pero requieren un dispositivo enraizado y es demasiado invasivo para ser una solución.
Quiero crear una aplicación para mi empresa para sincronizar datos entre diferentes sistemas y es esencial tener relojes sincronizados.
Gracias de antemano por su disposición
Eclipses
- Fusión de manifiesto de Gradle de Android: reemplaza el atributo 'uses-permission' procedente de una biblioteca
- Aplicación con 2 actividades de lanzamiento
- Los recursos referenciados desde el manifiesto no pueden variar según la configuración
- Cómo evitar que la aplicación se ejecute en tablets Android
- Diferencia entre auto y preferExternal instal location Android manifiesto
- Mantener el estado de la aplicación android utilizando alwaysRetainTaskState y lauchMode
- Optimización del archivo de manifiesto de Android para el mayor número de dispositivos compatibles
- Android - ¿Alguna vez tienes que agregar fragmentos al manifiesto
Eclipses,
Hice un poco de comprobación para usted en esto y encontré un boleto abierto con Google para solucionar el problema. Lo único es que la etiqueta ha estado abierta desde el 8 de noviembre de 2009. Básicamente sólo el sistema puede cambiar el tiempo incluso con el permiso. Según los comentarios en el enlace de abajo un desarrollador hizo algunas investigaciones y observó que cuando se creó el permiso SET_TIME, no se le dio el nivel de protección adecuado en el OS (signatureorSystem vs dangerous). Como resultado, no hace lo que se supone que debe hacer.
http://code.google.com/p/android/issues/detail?id=4581
A continuación se muestra una explicación de los distintos niveles de protección que pueden tener los permisos. Actualmente, de acuerdo con la cita de desarrollador anterior SET_TIME tiene "signatureorSystem" cuando debería tener "peligroso".
http://developer.android.com/guide/topics/manifest/permission-element.html#plevel
En resumen, actualmente no hay manera de cambiar el tiempo de forma programática sin necesidad de enraizar el teléfono.
Una nota final es que si quieres ir con roms personalizados también hay un boleto abierto para Cyanogenmod para añadir la capacidad de su rom también.
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=CyanogenMod+SET_TIME
Espero que esto ayude a algunos, George
Según este post , SET_TIME es el permiso correcto, pero sólo funcionará en un teléfono con raíz.
Lo hemos hecho No es un gran problema, siempre y cuando usted puede obtener la ptission SET_TIME. Vea mi respuesta a una pregunta similar .
En cuanto a otras respuestas que indican que no es posible sin enraizar el teléfono, entonces esto se refiere sólo a obtener el permiso. Para esto vea aquí y aquí .
- ¿Dónde debo reportar errores en la documentación de Android?
- Tomando capturas de pantalla mediante programación no captura el contenido de surfaceVIew