質問

を使用していPhoneGap0.8ていただきたいと思いますように検出する基本的な振るジェスチャー.また関連するスニペット:

http://groups.google.com/group/phonegap/browse_thread/thread/25178468b8eb9e9f

http://phonegap.pbworks.com/Handling-Shake-Events

もし電話をかけてきました。残念ながら、書類のう少し時代遅れでは、APIリファレンスのためのPhoneGapはバンチテストを行っております。かでんして知られるか。

場を提供できる短いスニペットの揺れ検出のためのコードPhoneGapい作品というの扱いになります。りの時間!

役に立ちましたか?

解決

最初のリンクを使用 PhoneGap.Gesture, る調査を実施しているのは、同じでは存在しない(少なくともiphone)0.8.これは、最近のポストものの場合は、所定の手続きが追加されています。しんの使用によってはそれ以降の改正によ0.8

い振るジェスチャサポートをphonegapアプリ'広'phonegapとしております。が最初の警告:

Appleと判断PhoneGap0.8可能として提出する。ここでは基本的に延長線上でも非常に簡単なもの)をPhoneGap0.8がリスクの除去が可能になります。このアプリを開発しこのためではなく、承認プロセスな助言を行されます。

でもここだけOS3.0+による利用の新しい UIEventSubtypeMotionShake API

またはiPhone固有のものです。ご希望の場合はクロスプラットフォーム機能のPhoneGapのこの答えとさせていただきますまないと快適を実施、ネイティブ側での変更は、他のプラットフォーム(androidなど)。この場合に対するものと待つだけで公式phonegapリリースを支援することになります

下記コードを追加しますPhoneGapViewController.m

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    if (UIEventSubtypeMotionShake == motion)
    {
        [webView stringByEvaluatingJavaScriptFromString:@"navigator.myext.onShakeGesture();"];
    }
}

そして追加することjavascriptのモジュール myext.js

/* We need PhoneGap.js to be loaded to work properly before we can initialise so wait for it here */
(function() 
{
    var timer = setInterval(function() 
    {
        if (typeof(PhoneGap == 'object'))
        {
            clearInterval(timer);
            myExtInit();
        }
    }, 1);
})();

function MyExt()
{
    // initialization
    this.callbacks = {
        onShakeGesture: []
    };
}

/* Called by ObjectiveC side when a shake gesture is detected */
MyExt.prototype.onShakeGesture = function()
{
    for (var i = 0; i < this.callbacks.onShakeGesture.length; i++) 
    {
        var f = this.callbacks.onShakeGesture[i];
        f();
    }
};

MyExt.prototype.addShakeGestureListener = function(shakeCallback)
{
    if (typeof(shakeCallback) == 'function')
    {
        this.callbacks.onShakeGesture.push(shakeCallback)
    }
};

function myExtInit()
{
    // Init phonegap extension specific objects using PhoneGap.addConstructor
    PhoneGap.addConstructor(function() {
        if (typeof navigator.myext == "undefined") navigator.myext = new MyExt();
    });
}

あるとすmyext.js 皆さんのHTMLコンテンツ <head> 部直後へのリンク phonegap.js

<script type="text/javascript" charset="utf-8" src="myext.js"/>

利用からスクリプト例の原因となる警告がない):

function watchShake() {
  var cb = function(){
    navigator.notification.alert("Shake it!");
  };
    navigator.myext.addShakeGestureListener(cb);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top