How can I make my device vibrate?

末鹿安然 提交于 2019-12-05 03:57:41

To use the Vibration extension, an AIR application does the following:

Checks if the extension is supported by calling isSupported. Causes the device to vibrate by calling vibrate(), specifying the duration of the vibration in milliseconds as a parameter.

var vibe:Vibration;
if (Vibration.isSupported)
{
    vibe = new Vibration();
    vibe.vibrate(2000);
}

Android applications For an Android application, include the Vibration permission in your application descriptor file:

Android Permission : <uses-permission android:name="android.permission.VIBRATE"/>

Reference : http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html

David W

Thanks for the answers. They made me research a bit further into this subject. What I found was this:

Before you can use:

var vibe:Vibration;
if(Vibration.isSupported){
     vibe = new Vibration();
     vibe.vibrate(500);
}

You have to go to "Edit ActionScript Settings" > "Libary Path" > "Browse to SWC file"

There you have to put these 2 file in:

VibrationActionScriptLibary.swc - You can get with this zip file

com.adobe.extensions.Vibration.swc - In the same zip file and directory. You have to change the .ane to .swc

Next you have to import com.adobe.nativeExtensions.Vibration; Just put that line with the other imports.

This was all you have to do in Flash. (Besides coding the actual game...)

Next up, open the myApp-app.xml. In the xml, scroll-up and check if the link to ns.adobe.com ends with 3.0 (or higher). If not, change it to 3.0. Adobe AIR 3.0 or higher is required for native extensions.

Scroll further down to the part where you see <initialWindow>. After the closing tag you add :

<extensions>
    <extensionID>com.adobe.Vibration</extensionID>
</extensions>

If you scroll further down you should see something like <android>. In the manifestAdditions you have to add a permission for the device to make it actually allow that it can use the vibrate function.

If there is not yet a <![CDATA[manifest> line there, you have to add it. If you added it/or if it's already there you have to add in the permission. This is done with android:name="android.permission.VIBRATE" In the end you want to make sure it looks something like this:

<![CDATA[<manifest>
    <uses-permission android:name="android.permission.VIBRATE"/>
</manifest>]]>

After this you can save and close the xml file.

After you have done all this your .fla may fail to publish in Flash since Flash doesn't support the stuff we have just adjusted. However, we can still publish the .fla with CMD (for Windows). This is also where my support for Mac users end, sadly. In cmd you browse to your project folder. My project folder is on my desktop, so I typed cd desktop, cd games, cd tilt android game. After I browsed to my folder I typed this command line...

AdobeAIRSDK\bin\adt -package -target apk -storetyp pkcs12 -keystore YOUR_LICENCE.p12 myApp.apk myapp-app.xml myapp.swf -extdir extensionDir

Make sure you have the AdobeAIRSDK folder in your project folder. If all the above (with cmd) is a bit vague go here and watch his video and his video about how to compile an ANE app with the command line for your OS. (That's what I did in the first place.)

If you have and icon for your app, make sure they are in a folder named "icons" in your project folder. If your icons are in such a folder just paste the folder name at the end of the command line.

The app should publish in your projects folder.

If you have any questions about this, make sure you watch the video I linked.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!