Přístup akcelerometr pomocí JavaScriptu v Androidu?

hlasů
17

Existuje nějaký způsob, jak získat přístup k datům akcelerometru pomocí Javascriptu v prohlížeči Android? Já vím, že podporuje „onorientationchange“, ale rád bych se dostat všechno.

Upřesnění: Ptám se, jak to udělat na internetových stránkách, a ne nativní aplikace.

Položena 17/12/2010 v 21:27
zdroj uživatelem
V jiných jazycích...                            


6 odpovědí

hlasů
17

Jak ICS, Android 4.0, můžete použít ‚devicemotion‘ událost pomocí posluchače událostí JavaScript pro přístup k datům z akcelerometru. Viz W3C dokumentaci o tom, jak se k nim dostat - http://dev.w3.org/geo/api/spec-source-orientation.html .

Poznámka - W3C názvu dokumentace je pojmenován ‚orientaci zařízení‘, ale spec skutečně patří ‚devicemotion‘ dokumentaci události.

Odpovězeno 04/06/2012 v 07:58
zdroj uživatelem

hlasů
13

Tvorba aktualizaci tohoto vlákna.

HTML5 umožňuje někdo to udělat. Zjištění, zda je nebo není přítomna akcelerometr je snadné.

    if (window.DeviceMotionEvent == undefined) {
        //No accelerometer is present. Use buttons. 
        alert("no accelerometer");
    }
    else {
        alert("accelerometer found");
        window.addEventListener("devicemotion", accelerometerUpdate, true);
    }

Ve funkci, kterou definujete přijímat akcelerometru události, můžete se podívat na accelerationIncludingGravityčlena.

function accelerometerUpdate(e) {
   var aX = event.accelerationIncludingGravity.x*1;
   var aY = event.accelerationIncludingGravity.y*1;
   var aZ = event.accelerationIncludingGravity.z*1;
   //The following two lines are just to calculate a
   // tilt. Not really needed. 
   xPosition = Math.atan2(aY, aZ);
   yPosition = Math.atan2(aX, aZ);
}

Více informací lze nalézt zde: http://dev.w3.org/geo/api/spec-source-orientation.html

Odpovězeno 27/04/2013 v 23:56
zdroj uživatelem

hlasů
5

Dalo by se pokusit s PhoneGap , která poskytuje API pro přístup k akcelerometru z javascriptu.

Zde dokumentaci.

Odpovězeno 17/12/2010 v 21:54
zdroj uživatelem

hlasů
4

Pokud se snažíte získat přístup k akcelerometru z webové stránky hostované na serveru (verus jednoho integrovaného do nativní aplikace prostřednictvím WebView), než data z akcelerometru se nezdá být k dispozici již nyní pro Android. Najdete podrobnější posouzení zde: http://www.mobilexweb.com/blog/android-froyo-html5-accelerometer-flash-player .

Také možná budete chtít vyzkoušet tento SO příspěvek: Detekce natočení telefonu se systémem Android v prohlížeči pomocí JavaScriptu

Odpovězeno 19/12/2010 v 19:41
zdroj uživatelem

hlasů
1

Pokud jsem správně četl dokumenty, můžete nastavit třídu (do Java / Android), který poskytuje funkce akcelerometru potřebné ve veřejných funkcích.

Pak nastavení javascriptu rozhraní pro WebView pomocí addJavascriptInterface hovoru, což veřejné funkce v této třídě k dispozici být volána v rámci javascriptu.

Odpovězeno 17/12/2010 v 22:07
zdroj uživatelem

hlasů
0

Při pohledu na tento příspěvek flash.sensors.Accelerometer na Android ve webovém prohlížeči se zdá, akcelerometr dat je blesk k dispozici. Takže je to možné řešení (alespoň pro zařízení, která mají blesk) by byl malý záblesk applet, který chytil data pro vás.

Zní to jako hack, ale stále zní lépe, než aby celou věc blesk

Odpovězeno 04/04/2011 v 02:37
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more