Samsung Overlay Component - android-permissions

Can anyone explain what below lines do when include in AndroidManifest.xml
<uses-permission
android:name="com.samsung.android.permission.SAMSUNG_OVERLAY_COMPONENT" />
<overlay
android:priority="999"
android:targetPackage="com.mon.android.font.alley" />

Related

How to implement Facebook SDK Pixel on Xamarin.Forms to capture Login, Installs, Uninstalls

My company has a campaign which has an objective to increase te installations of its apps.
Our App was done in Xamarin.Forms 4.8.
I have read many many sites and searched for any tutorial about how to do that, but unfourtunatelly, I do not find anything. There are so many material about FB Login in Xamarin, was nothing about FB Pixel to get events in your xamarin.forms app.
I have read that there is a type of registration of those events in FB, called nocode, where the app sends some basic events to FB, without any code. You just need to install the nuget lib (Android and iOS) and configure AndroidManifest and info.plist files, with the pixel number, which is called FacebookAppId.
Below, is part of my AndroidManifest file:
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.AD_ID" />
<application android:label="#string/app_name" android:icon="#drawable/balao">
<uses-library android:name="org.apache.http.legacy" android:required="false" />
<provider android:name="android.support.v4.content.FileProvider" android:authorities="io.app.meusebrae.fileprovider" android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="#xml/file_paths"></meta-data>
</provider>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="#string/facebook_app_id" />
<activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="#string/app_name" />
<activity android:name="com.facebook.CustomTabActivity" android:exported="true">
...
Below, part of my info.plist file:
...
<key>FacebookAppID</key>
<string>874......</string>
<key>FacebookDisplayName</key>
<string>Meu Sebrae</string>
...
I have the nuget libs Xamarin.Facebook.Android and Xamarin.Facebook.iOS installed.
According to some sites, it would be the only configuration needed to make it to run, but nothing is sent to FB dashboard, where I monitor the events captured.
So, please, I really need some tutorial or anybody to explain me, what I really need to do, and if I am doing anything wrong.
Thanks.
Marcelo.

AR Core uses-feature description on AndroidManifest.XML (Unity3D)

I am building an AR/Unity3D (.aab) to upload to Google Play. I receive the following error from the Google Developer Console: "The uses-feature android.hardware.camera.ar is required in in the AndroidManifest.xml file when a dependency on ARCore is specified as required." Please see attached screenshot.
I have reached the Manifest file, copied it to /Plugins/Android folder. Edited and added the following snippet:
<uses-feature
android:name="android.hardware.camera.ar"
android:required="true" />
I still get the same error from Google. What should I do to publish this build?
Below lines worked for me in this case
<uses-feature android:name="android.hardware.camera"
android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus"
android:required="false"/>
<uses-feature android:name="android.hardware.camera2.full"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.ar"
android:required="false" />
<meta-data
android:name="com.google.ar.core"
android:value="optional" />

Suggestion: add 'tools:replace="android:name"' to <application> element at AndroidManifest.xml to override

I got an error
Attribute application#theme value=(#style/Theme.AppCompat.NoActionBar) from [:flutter_barcode_scanner] AndroidManifest.xml:17:9-59
is also present at [:stripe_payment] AndroidManifest.xml:9:18-74 value=(#style/Theme.AppCompat.Light.NoActionBar).
Suggestion: add 'tools:replace="android:theme"' to <application> element at AndroidManifest.xml:22:5-109:19 to override.
When i try to add the tools:replace="android:theme" to <application> but it didn’t fixed the error
I have fixed this error by the following steps
Select any dart file and then Go Tools > Flutter > Opening for editing Android Studio
Now wait to complete it all the process (Grande, indexing etc)
Select Android like below in image
Find flutter_barcode_scanner and open manifests/AndroidManifest.xml
add xmlns:tools="http://schemas.android.com/tools" to AndroidManifest.xml header
Add tools:replace="android:theme" to the <application ...
like below code
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<application
android:largeHeap="true"
android:theme="#style/Theme.AppCompat.NoActionBar">
<activity android:name="com.amolg.flutterbarcodescanner.BarcodeCaptureActivity" />
</application>
This all above steps repeat for stripe_payment.

Why unityplayer.SkipPermissionsDialog not working with unity 2018.3.14?

I'm develop application with unity and vuforia and I use
<meta-data android:name=“unityplayer.SkipPermissionsDialog” android:value=“true”>
in Manifest.xml to skip permission on startup.My application export (apk) in unity 5.1.1 work fine but not working in untiy 2018.3.14.I'm going to create another project with unity 2018.3.14 and edit the manifest.xml with line on above, but it still ask for camera permission on startup.
This is my manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="preferExternal">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:theme="#style/UnityThemeSelector"
android:icon="#mipmap/app_icon"
android:label="#string/app_name">
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="#string/app_name"
android:hardwareAccelerated="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<!-- For Runtime Permission -->
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
<activity android:name="com.onevcat.uniwebview.UniWebViewFileChooserActivity" />
</application>
</manifest>
Any help please?
First guess
Unity won‘t ask for permission directly after the app start anymore, if you set unityplayer.SkipPermissionsDialog.
But Vuforia will do request a runtime permission dynamically the moment it an AR Camera is enabled.
I‘m guessing that you are using an AR Camera in you first scene?
update 1
Try moving unityplayer.SkipPermissionsDialog in the AndroidManifest.xml inside the activity tag instead of the application tag.
So, I try another way to solve problem.
1- Check the Delayed Initialization box (Window->Vuforia Configuration).
2- Use the <meta-data android:name=“unityplayer.SkipPermissionsDialog” android:value=“true”> normally and ask for permissions when I need those.
3- Add this line of code to the Start() function of this new script and assign it to empty gameobject:
VuforiaRuntime.Instance.InitVuforia();
4- So, when user allow for permission, I load 2nd Scene and it run Vuforia initialize.

Application error: there was a network error(file:///assets/www/index.html

I am trying to run a phonegap application on eclipse juno.
The android version is 4.1.2. The application gives an error saying:
Application error: there was a network error(file:///assets/www/index.html
when i try to run the app.
The android manifest is as follows
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
package="com.initial.belgium" android:versionName="1.0" android:versionCode="1" android:hardwareAccelerated="true">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application android:icon="#drawable/icon" android:label="#string/app_name"
android:hardwareAccelerated="true"
android:debuggable="true">
<activity android:name="belgium" android:label="#string/app_name"
android:theme="#android:style/Theme.Black.NoTitleBar"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16"/>
</manifest>
The java source is as follows:
package com.initial.belgium;
import android.os.Bundle;
import org.apache.cordova.*;
public class belgium extends DroidGap
{
#Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl("file:///assets/www/index.html");
}
}
Could someone help me fix this??
Thanks
Try changing:
super.loadUrl("file:///assets/www/index.html");
To:
super.loadUrl("file:///android_asset/www/index.html");
For me the issue was that the Phonegap "Hello World" tutorial for Android simply does not work. It created a sub-folder under platforms / android / assets called "phonegap-app-hello-world-3.1.0". This folder is where all the files were, so once I changed the loadUrl parameter to reflect that it loaded without the error:
super.loadUrl("file:///android_asset/www/phonegap-app-hello-world-3.1.0/www/index.html");
Hope this helps someone, would have saved me a couple of hours of mucking around!
I found a really good solution to this online.
What you basically need to do is to move the contents of index.html to another file, say app.html.
Then have the following code in your original index.html:
<!doctype html>
<html>
<head>
<title>tittle</title>
</head>
<body>
<script>
window.location='./app.html';
</script>
</body>
</html>
The connection to the server won't timeout anymore and the app should load successfully.
Now I didn't come up with this great idea. All credit goes to Robert Kehoe:
https://www.robertkehoe.com/2013/01/fix-for-phonegap-connection-to-server-was-unsuccessful/
Doing this helped me solve a similar problem with my own Android phonegap application...
.loadUrl should take a url that is pointing to a server. Change it to http://www.google.com/ and it should work.
To use your own files, upload them to a web server or start one on your local machine. If you are on a mac, there is one built-in (simply enable Web Sharing from System Setting). Or if you have Python installed, you can run python -m SimpleHTTPServer from the /assets/www directory, and then change the URL to 'http://localhost:8000/index.html'
For me, this problem was caused by the fact that I edited and renamed both an index.html file and an app.js file. When I renamed I included the extension .html and .js. This caused the files to be renamed to index.html.html and app.js.js. So clearly the project could not find the files it was looking for. I believe this is a manifestation of the answers given above.