Added Android camera support to example app
This commit is contained in:
parent
c1dc501e23
commit
0943823a81
141
AndroidManifest.xml
Normal file
141
AndroidManifest.xml
Normal file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- BEGIN_INCLUDE(manifest) -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="{{android.package}}"
|
||||
android:versionCode="{{android.version_code}}"
|
||||
android:versionName="{{project.version}}"
|
||||
android:installLocation="auto">
|
||||
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-feature android:required="true" android:glEsVersion="0x00020000" />
|
||||
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="23" />
|
||||
<application
|
||||
{{#has-icons?}}
|
||||
android:icon="@drawable/icon"
|
||||
{{/has-icons?}}
|
||||
android:label="{{project.title}}" android:hasCode="true" android:debuggable="false">
|
||||
|
||||
<!-- For Local Notifications -->
|
||||
<receiver android:name="com.defold.push.LocalNotificationReceiver" >
|
||||
</receiver>
|
||||
|
||||
<!-- For GCM (push) -->
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.version"
|
||||
android:value="@integer/google_play_services_version" />
|
||||
|
||||
<!-- For Facebook -->
|
||||
<meta-data android:name="com.facebook.sdk.ApplicationName"
|
||||
android:value="{{project.title}}" />
|
||||
|
||||
<activity android:name="com.dynamo.android.DefoldActivity"
|
||||
android:label="{{project.title}}"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:screenOrientation="{{orientation-support}}"
|
||||
android:launchMode="singleTask">
|
||||
<meta-data android:name="android.app.lib_name"
|
||||
android:value="{{exe-name}}" />
|
||||
{{#android.push_field_title}}
|
||||
<meta-data
|
||||
android:name="com.defold.push.field_title"
|
||||
android:value="{{android.push_field_title}}" />
|
||||
{{/android.push_field_title}}
|
||||
{{#android.push_field_text}}
|
||||
<meta-data
|
||||
android:name="com.defold.push.field_text"
|
||||
android:value="{{android.push_field_text}}" />
|
||||
{{/android.push_field_text}}
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="com.dynamo.android.DispatcherActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
|
||||
<activity android:name="com.facebook.FacebookActivity"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
||||
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
|
||||
android:label="{{project.title}}" />
|
||||
<activity android:name="com.defold.iap.IapGooglePlayActivity"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
||||
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
|
||||
android:label="IAP">
|
||||
</activity>
|
||||
|
||||
<!-- For Local Notifications -->
|
||||
<activity android:name="com.defold.push.LocalPushDispatchActivity"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize">
|
||||
<intent-filter>
|
||||
<action android:name="com.defold.push.FORWARD" />
|
||||
<category android:name="com.defold.push" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- For GCM (push) -->
|
||||
<activity android:name="com.defold.push.PushDispatchActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar">
|
||||
<intent-filter>
|
||||
<action android:name="com.defold.push.FORWARD" />
|
||||
<category android:name="com.defold.push" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<receiver
|
||||
android:name="com.defold.push.GcmBroadcastReceiver"
|
||||
android:permission="com.google.android.c2dm.permission.SEND" >
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
||||
<action android:name="com.defold.push.FORWARD" />
|
||||
<category android:name="com.defold.push" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- For IAC Invocations -->
|
||||
<activity android:name="com.defold.iac.IACActivity"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="{{android.package}}" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<service android:name="com.defold.adtruth.InstallReceiver"/>
|
||||
<receiver
|
||||
android:name="com.defold.adtruth.InstallReceiver"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.vending.INSTALL_REFERRER" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- For Amazon IAP -->
|
||||
<receiver android:name="com.amazon.device.iap.ResponseReceiver" >
|
||||
<intent-filter>
|
||||
<action android:name="com.amazon.inapp.purchasing.NOTIFY" android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
</application>
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
|
||||
<!-- For GCM (push) -->
|
||||
<!-- NOTE: Package name from actual app here! -->
|
||||
<permission android:name="{{android.package}}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<!-- NOTE: Package name from actual app here! -->
|
||||
<uses-permission android:name="{{android.package}}.permission.C2D_MESSAGE" />
|
||||
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
|
||||
</manifest>
|
||||
<!-- END_INCLUDE(manifest) -->
|
@ -6,6 +6,9 @@ It relies on [buffers](https://www.defold.com/ref/buffer/).
|
||||
For the supported set of QRCodes to decode, see the documentation for [Quirc decoded](https://github.com/dlbeer/quirc)
|
||||
The encoder supports the traditional QR code type.
|
||||
|
||||
The QRCode extension itself should be supported on all platforms. However, the example app relies on getting images from the camera
|
||||
and that extension is currently only supports OSX, iOS and Android (and the Android support is very work-in-progress)
|
||||
|
||||
# Example app
|
||||
|
||||
Push the Scan button to start scanning for qrcodes. The camera starts running and the the app scans the
|
||||
|
@ -1,7 +1,7 @@
|
||||
[project]
|
||||
title = QRCode
|
||||
version = 0.1
|
||||
dependencies = https://github.com/defold/extension-camera/archive/master.zip,https://github.com/andsve/dirtylarry/archive/master.zip
|
||||
dependencies = https://github.com/defold/extension-camera/archive/dev-android.zip,https://github.com/andsve/dirtylarry/archive/master.zip
|
||||
custom_resources = main/images/defold.png
|
||||
|
||||
[bootstrap]
|
||||
@ -38,6 +38,7 @@ app_icon_180x180 = /icons/Icon-180.png
|
||||
|
||||
[android]
|
||||
package = com.defold.qrcode
|
||||
manifest = /AndroidManifest.xml
|
||||
|
||||
[osx]
|
||||
bundle_identifier = com.defold.qrcode
|
||||
|
@ -7,7 +7,7 @@ local function start_scan(self)
|
||||
local quality = camera.CAPTURE_QUALITY_HIGH
|
||||
local type = camera.CAMERA_TYPE_FRONT
|
||||
self.flip = 0
|
||||
if sysinfo.system_name == 'iPhone OS' then
|
||||
if sysinfo.system_name == 'iPhone OS' or sysinfo.system_name == 'Android' then
|
||||
type = camera.CAMERA_TYPE_BACK
|
||||
quality = camera.CAPTURE_QUALITY_MEDIUM
|
||||
self.flip = 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user