View Full Version : چگونگی فعال کردن گزینه Automatic date & time ؟
saeed_g21
سه شنبه 19 فروردین 1393, 11:19 صبح
سلام دوستان
چطوری میشه وقتی کاربر برنامه رو اجرا میکنه گزینه Automatic date & time رو خودکار فعال کرد؟
saeed_g21
سه شنبه 19 فروردین 1393, 19:18 عصر
دوستان لطفا" راهنمایی کنید ممنونم
smemamian
سه شنبه 19 فروردین 1393, 19:37 عصر
سلام
نمی توانی همچین کاری انجام بدی مگر اینکه صفحه ی تنظیمات Date and Time رو واسش باز کنی :
startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTI NGS));
saeed_g21
سه شنبه 19 فروردین 1393, 21:31 عصر
ممنونم از راهنمایی شما دوست عزیز
اگه اونکار انجام نشه میشه کاری کرد که ساعت واقعی محلی که در Time Zone انتخاب شده رو بدست آورد ؟
وقتی تیک Automatic date & time رو میزاریم ساعت واقعی Set میشه خوب اونم از Time Zone گرفته میشه مگه نه ؟
خوب من چطوری میتونم همچین کاری کنم ؟
saeed_g21
چهارشنبه 20 فروردین 1393, 00:26 صبح
یعنی راهی نیست ؟
smemamian
چهارشنبه 20 فروردین 1393, 00:38 صبح
طبق این سایت (http://www.timeanddate.com/worldclock/city.html?n=246)من UTC/GMT ایران رو گرفتم پس :
private String getCurrentTime(){
TimeZone mtz = TimeZone.getTimeZone("GMT+04:30");
Calendar calendar = Calendar.getInstance(mtz);
String current_time = calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND);
return current_time ;
}
saeed_g21
پنج شنبه 21 فروردین 1393, 09:47 صبح
جواب نداد باز ساعت رو اشتباهی میده
راستش میدونین برای چی میخواستم
میخوام به برنامه بگم که مثلا از ساعت 10 الی 12 کار کنه یعنی ساعت کاری بهش بدم
البته نمیخوام از اینترنت استفاده کنم
اگه دستی تعریف کنم کاربر زرنگ باشه میتونه ساعت دستگاه رو تغییر بده و کاراش رو انجام بده
حالا راهی هست که بتونم این کار رو با امنیت بیشتر انجام بدم ؟
smemamian
پنج شنبه 21 فروردین 1393, 20:12 عصر
راه های مختلف رو بررسی کردم ولی متاسفانه همه به ساعت گوشی وابسته بودن.
یعنی با عقب یا جلو بردن ساعت، خروجی تابع تغییر می کرد. یکجا پیشنهاد داده بود
از GPS استفاده بشه. (البته فقط یه نظر بود، و نمونه کدی وجود نداشت.).
saeed_g21
جمعه 22 فروردین 1393, 21:49 عصر
ممنونم از پاسخ و راهنمایی و زحماتی که کشیدید
GPS هم که بگیر نگیر داره تا کانکت بشه و اینا زمان بره
پس یعنی بیخیال بشم ؟
smemamian
شنبه 23 فروردین 1393, 00:04 صبح
نه !
نمونه کد در قسمت "نمونه برنامه های کوچک و مفید اندروید" (http://barnamenevis.org/showthread.php?401729-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=2004057#post2004057)
کد رو دریافت کن و از تابع های استفاده شده، استفاده کن.
مشکل از اینجا بود :
int offset = tzCurrent.getRawOffset();
if (tzCurrent.inDaylightTime(new Date())) {
offset = offset + tzCurrent.getDSTSavings();
}
saeed_g21
شنبه 23 فروردین 1393, 08:47 صبح
ممنونم
میدونین چیه ؟
من می خوام اگه مثلا TimeZone روی یک منطقه دیگه یا Date & Time رو اشتباهی Set بشه من Time واقعی TimeZone منطقه Asia/Tehran رو بدست بیارم حالا +- یک ساعت رو از روی ماه میتونم تشخیص بدم و +- یک ساعتش کنم
همچین کاری میخوام ولی این کدها و نمونه برنامه جوابگو نبود آیا همچین چیزی میشه ؟
از زحماتی که کشیدین کمال قدردانی و تشکر رادارم
smemamian
شنبه 23 فروردین 1393, 23:43 عصر
اینجور که شما می خواین، راهی فکر نکنم وجود داشته باشه.
چون حتی اگه زمان گوشی رو تغییر بدین و علامت Automatic date & time
و رو فعال کنید، بازهم زمان به درستی Set نمیشه! (سیستم قادر نیست
زمان واقعی رو تشخیص بده تا اولین اتصال به اینترنت.)
با ترفندهای مختلف میشه این کار رو کرد ولی زیاد کاربردی و
بهینه نیست.
مثلاً:
به هرحال برنامه شما باید از یکجا دریافت بشه! پس از دریافت و
نصب برنامه، برای یک بار از کاربر بخواهید به اینترنت متصل شود
پس از اتصال، Time دقیق ایران رو از اینترنت دریافت کنید و یک
ساعت داخلی در برنامه اتون بنویسید، و طبق اون زمان برنامه رو
تنظیم کنید.
همین طور که گفتم بهینه نیست چون باطری زیادی مصرف می شود.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.