システムの日付と時間を変更するには

1,232 views
Skip to first unread message

shirakura

unread,
Feb 20, 2011, 10:14:51 PM2/20/11
to Android-Embedded-Japan
はじめましてshirakuraと申します。

早速ですが、Armadillo500-FXにAndroidを載せ
(Androidのポーティングは下記サイトの通りに行いました。
http://armadillo.atmark-techno.com/howto/try-android-on-armadillo)
以下のような機能をアプリケーションに実装したいと思っています。

1.日付と時間を自動/手動を選択できる。
2.手動を選択した場合は、指定したタイムゾーン・年月日・時間を設定する。

1.については、(Settings.System.AUTO_TIMEを使用して)
自動/手動を切り替えることができたのですが

2.の場合、設定を手動に切り替えた後、
指定したタイムゾーン・年月日・時間を
システムに設定(反映)するにはどうすれば良いのでしょうか?


どなたかご教授願えませんでしょうか。
以上、よろしくお願い致します。

shirakura

unread,
Mar 9, 2011, 3:07:20 AM3/9/11
to Android-Embedded-Japan
いろいろ調査した結果以下のような結論に至りました。

まず、タイムゾーン、日付、時間等を変更するための
モジュールはAndroid(Java)にはない。
そのため、NDKを利用してシステムコール「settimeofday」を使用する
ネイティブコードを作成する。

ということで「settimeofday」を使用したのですが
「settimeofday」実行時、以下のエラーが発生致しました。
errno:1 Operation not permitted
これは(root)権限が無いという事だと思います。


そこで質問なのですが、
1.Armadillo-500FXに載せているAndroidのroot権限を取得することは可能なのでしょうか?
2.また、可能な場合どのように行えば良いのでしょうか?

3.また、NDKを利用する場合既存のライブラリが利用可能なことから
タイムゾーン、日付、時間等を変更するライブラリが
オープンソースで既に有るのではないかと思ったのですが、
ご存知ないでしょうか?(検索方法でも結構です)


どなたかご教示願えませんでしょうか。
以上、よろしくお願い致します。

koba

unread,
Apr 23, 2011, 7:53:28 PM4/23/11
to Android-Embedded-Japan
Linuxでシステムの時間を合わせるのにはNTP(Network Time Protocol)がよく使われますね。
http://ja.wikipedia.org/wiki/Network_Time_Protocol
"android ntp" で検索すればなにか情報が得られると思います。

> 1.Armadillo-500FXに載せているAndroidのroot権限を取得することは可能なのでしょうか?
あなたはすでにroot権限を持っています。

shirakura

unread,
Apr 27, 2011, 6:34:34 PM4/27/11
to Android-Embedded-Japan
koba様

返信有り難う御座います。

> Linuxでシステムの時間を合わせるのにはNTP(Network Time Protocol)がよく使われますね。http://ja.wikipedia.org/wiki/Network_Time_Protocol
> "android ntp" で検索すればなにか情報が得られると思います。
有難う御座います。時間を見つけて調査したいと思います。

> > 1.Armadillo-500FXに載せているAndroidのroot権限を取得することは可能なのでしょうか?
> あなたはすでにroot権限を持っています。
別件なのですが、
システムコールを使用した際にerrno:13 Permission deniedエラーが発生していたため
root権限が無い物と思っていました。
既にroot権限は持っていたのですね、有難う御座います。
Reply all
Reply to author
Forward
0 new messages