Android Navigation library doesn't open deeplink - android-architecture-components

Can't open the deeplink URL.
Here is the code I used
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/app_navigation"
app:startDestination="#id/loginActivity">
<activity
android:id="#+id/passwordCreateActivity"
android:name=".PasswordCreateActivity"
android:label="password_create_activity"
tools:layout="#layout/password_create_activity">
<deepLink
app:uri="www.example.com/auth/activate/{token}" />
</activity>
</navigation>
I have used the intent to open the deeplink
adb shell am start -a android.intent.action.VIEW -d "www.example.com/auth/activate/2i8haFs4NqxFdzRUYoYJbq1C0?check-scheme=1" com.example.app
dependency
implementation 'android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha02'
implementation 'android.arch.navigation:navigation-ui-ktx:1.0.0-alpha02'

I have forgotten to register nav_graph in AndroidManifest file.
Here is the full code for the Deep Link.
nav_graph.xml
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/app_navigation"
app:startDestination="#id/loginActivity">
<activity
android:id="#+id/passwordCreateActivity"
android:name=".PasswordCreateActivity"
android:label="password_create_activity"
tools:layout="#layout/password_create_activity">
<deepLink app:uri="www.example.com/auth/activate/{token}" />
</activity>
</navigation>
AndroidManifest.xml
<activity android:name=".PasswordCreateActivity">
<nav-graph android:value="#navigation/app_nav" />
</activity>

Related

Does mvvmicro/AutoFindviews supports AndoridX libraries?

Currently I am trying to update Android support libraries to AndoridX in our project which is built on Xamarin.Android.
But when I use androidx widgets in layout files. Its throwing an error in autogenerated layout files.
[ex: I used <androidx.recyclerview.widget.RecyclerView> in FirstActivity.xml , I am getting error in FirstActivity.xml.g.cs file - "Error CS0246 The type or namespace name 'Androidx' could not be found (are you missing a using directive or an assembly reference?)" ]
FirstActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#color/backgroundColor">
<include
android:id="#+id/toolbar"
layout="#layout/toolbar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<include
android:id="#+id/Indicator"
layout="#layout/Indicator" />
<androidx.recyclerview.widget.RecyclerView
android:id="#+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="#dimen/margin_small"
/>
</FrameLayout>
</LinearLayout>
FirstActivity.xml.g.cs
On further analysis found that in our project, mvvmicro is used. which has a tool AutoFindviews.
Created a sample project without Autofindviews. It works fine with AndroidX.
Any inputs how to solve this? Thanks in Advance.

xamarin.android [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]

I am developing an App with Google Maps and I have some difficulties in making it run on a Genymotion Emulator (Nexus 5 API 22)
Here's the message I got :
Installing application on device
Deployment failed because of an internal error: Unexpected install output: pkg:
/data/local/tmp/com.companyname.progettocomputergraphics-Signed.apk
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]
Deployment failed. Internal error.
and thats my android manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.progettocomputergraphics">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<permission android:name="com.companyname.progettocomputergraphics.MAPS_RECEIVE" android:protectionLevel="signature" />
<uses-sdk android:targetSdkVersion="22" android:minSdkVersion="15" />
<application android:label="progettocomputergraphics" android:icon="#drawable/Icon">
<meta-data android:name="com.google.android.gsm.version" android:value="#integer/google_play_services_version" />
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my_API_Key" />
<service android:name=".ItineraryService"></service>
<receiver android:name=".RoutesRecevier" />
<activity android:name=".MapActivity">
<intent-filler>
<category android:name="android.intnet.category.LAUNCHER" />
</intent-filler>
</activity>
<activity android:name=".InfoActivity">
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="MapActivity" />
</activity>
</application>
</manifest>
Can anyone help me?
I've got the same issue (in my case using App Center Push SDK).
The issue was solved by avoiding uppercase on first letter of application/package name.
The first thing I will try to modify uses-permission tag:
<permission android: name = "com.companyname.progettocomputergraphics.MAPS_RECEIVE" android: ProtectionLevel = "signature" />
In my case I had to use
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyBFdb7p_3FTSQWX-sfOniZmQrsBHnM0Bu.."/>
in manifest

AdMob - You must have AdActivity declared in AndroidManifest.xml with configChanges

I am trying to get admob to work in my Xamarin Android application but I get the following message when trying to display an add:
"You must have AdActivity declared in AndroidManifest.xml with configChanges"
I ave added the Xamarin google play service to my application.
I am set the java heap size to 1G and build with API level 14
I have googled the error message and most answerspoint to the manifest file that needs to include two entries. I have added the entries but still have the problem.
Any idea what I am doing wrong? Here is my Manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:installLocation="auto" android:versionName="1.0">
<uses-sdk />
<application android:label="Aftermath">
<meta-data android:name="com.google.android.gms.version" android:value="#integer/google_play_services_version" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
Thanks

why my published app wont shows upp in google play/butik

i have uploaded an app to google play but after two days stil cant find it available to download.
i dont know if there is any problem with my AndroidManifest.xml but here come my AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.PforD.remmember.me"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name=".Home"
android:label="#string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="webbadd"></activity>
<activity android:name="db_web_show"></activity>
<activity android:name="who_is_this"></activity>
<activity android:name="help_show"></activity>
<activity android:name="request_answer"></activity>
<activity android:name="delete"></activity>
</application>
thx for any help
reg.
It should be up there , I was able to find my app after some 6-8 hrs I think
You can manually search
https://play.google.com/store/apps/details?id=org.lockerz.compare
replace org.lockerz.compare with your package name and try opening the link

Market requires the minSdkVersion to be set to a positive 32-bit integer in AndroidManifest.xml

We get this message every time time we try to upload our apk.
"Market requires the minSdkVersion to be set to a positive 32-bit integer in AndroidManifest.xml."
We have search and found many answer but none seem to fit our code. Any help would very accepted. Thank You.
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1" android:versionName="1.0" package="com.app.MobileClient"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="#string/app_name" android:icon="#drawable/icon">
<activity android:label="#string/app_name" android:name=".MobileClient"
android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
immediatly under the tag add a tag such as:
<uses-sdk android:minSdkVersion="9"
android:targetSdkVersion="9" />

Resources