質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

770閲覧

androidの「Sensor Batch」と同等の機能がiOSにあるかどうか

tajix_japan

総合スコア132

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/05/21 01:40

iphoneアプリの開発で「加速度センサー、または地磁気センサーの情報」をバックグラウンドで24時間定期的に取得し、蓄積するものを考えています。
ここで問題となるのが電池の消費です。

調べてみると、androidでは、Sensor Batchという機能があり、画面が消えてCPUが省電力モードに入っている時であってもセンサを稼働し、ハードウェアの中にセンサの情報を蓄積しておくことができるようです。

++++++++++++++++++++++++++++++++++++++++++++++++

https://qiita.com/piyonakajima/items/20007405672b483a3f28#android44sensor-batching
そこで、Android4.4よりSensor Batchという機能が追加されました。この機能を使うこ
とにより、画面が消えてCPUが省電力モードに入っている時であってもセンサを稼働し、
ハードウェアの中にセンサの情報を蓄積しておくことができます。バッチ処理にて定期
的にアプリを動かして取りに行く必要はありますが、ずっと動かす必要がないため消費
電力を抑えたまま、先程あげたセンサの情報を収集することができます。

+++++++++++++++++++++++++++++++++++++++++++++++

iphoneアプリはswiftで開発を予定していますが、iOSにも同様の機能があるかご教示戴きたくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aja

2019/05/22 06:26

androidにしてもiosでもバックグラウンドでの挙動には制限がつけられてきています。参考のandroidの情報は古いのでそのままでは使えません。そのような使い方自体を推奨しなくなったと言うことでしょうか
tajix_japan

2019/05/22 06:35

最新の情報有難うございます。 iOSだけでなくandroid用でもこの機能は使わない形で開発する必要がありますね。 開発の方向性が決まりました。有難うございました。
guest

回答1

0

自己解決

下記の記述を発見しました。iOSでは出来ないようです。

https://qiita.com/teamhimeH/items/51efb4fc68d3f1d2ebb9
長時間のタスク実行
iOSのバックグラウンドタスク実行には長時間のものと短時間(概ね180秒以内)のものがあります。

iOSでは一部の例外を除き基本的に長時間のバックグラウンド(常駐)処理が許されていません。バッテリを始めとしたリソース管理の観点からだと思われます。
長時間の処理が許されるのは以下のタスクです。

音の再生・AirPlay(音楽を再生するなど)
位置情報更新(カーナビアプリはアプリを閉じてもナビし続けますね。)
通話
Newsstand向けダウンロード
外部アクセサリとの通信
Bluetoothアクセサリとの通信
background fetch
通知(Notification)の監視

投稿2019/05/24 01:45

tajix_japan

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問