2013-07-04 1 views
6

У нас есть приложение, которое будет записывать правильную дату & время, когда пользователь запускает событие. Мы не хотим, чтобы пользователь менял дату & время до времени. Как отключить дату & на Android-уровне?Как отключить установку даты на Android?

ответ

10

Даже если вы можете найти какой-то взломать это, это не то, что вы хотите сделать. Лучшим решением будет прослушивание событий ACTION_TIMEZONE_CHANGED, ACTION_TIME_CHANGED и ACTION_DATE_CHANGED, а затем соответственно изменить ваше предыдущее время. На самом деле это очень легко сделать, я могу предоставить пример кода, если вам нужна помощь.

TimeChanged.java

package com.example.stackoverflow17462606; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 

public class TimeChanged extends BroadcastReceiver { 
    public TimeChanged() { 
    } 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // Do whatever changes you need here 
     // you can check the updated time using Calendar c = Calendar.getInstance(); 
    } 
} 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.stackoverflow17462606" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="7" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <receiver 
      android:name="com.example.stackoverflow17462606.TimeChanged" 
      android:enabled="true" 
      android:exported="true" > 
      <intent-filter> 
       <action android:name="android.intent.action.TIMEZONE_CHANGED"/> 
       <action android:name="android.intent.action.TIME_SET"/> 
       <action android:name="android.intent.action.DATE_CHANGED"/> 
      </intent-filter> 
     </receiver> 
    </application> 

</manifest> 

Пожалуйста, помните, что это будет только огонь, если вы запустили приложение один раз на устройстве (чтобы предотвратить приложения от запуска себя один раз их установлены)

+0

Большое спасибо! вы могли бы просто поделиться со мной своим примером кода? – freevictor

+0

Там вы идете, goodluck –

+0

так ценится! – freevictor

Смежные вопросы