DynamicLink経由でAndroidアプリが開かれた場合、既にアプリが起動しているなら新しくアプリを開かないようにしたい・起動しているアプリを継続したい
こんにちは、現在FlutterでdynamicLinkを使用したアプリを開発しています。
iOSでは問題ないのでFlutterというよりAndroidの問題になります。
開発中のアプリケーションをDynamicLink経由で開くことはできるのですが、「既にそのアプリが起動している場合でもDynamicLinkを読み込むと新たにアプリを起動する」という挙動になってしまいます。
iOSではこのようなことがない上、普段Android端末を使っていないので上記のようなことが可能なのか、また可能なのであればその方法を教えていただければと思います。
おそらく権限系の問題かと思いますので下にAndroidManifest.xmlを記載します
よろしくお願いします
該当のソースコード
xml
1<manifest xmlns:android="http://schemas.android.com/apk/res/android" 2 package="com.example.haniwa"> 3 <application 4 android:label="haniwa" 5 android:icon="@mipmap/ic_launcher"> 6 <activity 7 android:name=".MainActivity" 8 android:launchMode="singleTop" 9 android:theme="@style/LaunchTheme" 10 android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" 11 android:hardwareAccelerated="true" 12 android:windowSoftInputMode="adjustResize"> 13 <!-- Specifies an Android theme to apply to this Activity as soon as 14 the Android process has started. This theme is visible to the user 15 while the Flutter UI initializes. After that, this theme continues 16 to determine the Window background behind the Flutter UI. --> 17 <meta-data 18 android:name="io.flutter.embedding.android.NormalTheme" 19 android:resource="@style/NormalTheme" 20 /> 21 <!-- Displays an Android View that continues showing the launch screen 22 Drawable until Flutter paints its first frame, then this splash 23 screen fades out. A splash screen is useful to avoid any visual 24 gap between the end of Android's launch screen and the painting of 25 Flutter's first frame. --> 26 <meta-data 27 android:name="io.flutter.embedding.android.SplashScreenDrawable" 28 android:resource="@drawable/launch_background" 29 /> 30 <intent-filter> 31 <action android:name="android.intent.action.MAIN"/> 32 <category android:name="android.intent.category.LAUNCHER"/> 33 </intent-filter> 34 35 <!-- ダイナミックリンクのインテントフィルター --> 36 <intent-filter> 37 <action android:name="android.intent.action.VIEW" /> 38 <category android:name="android.intent.category.DEFAULT" /> 39 <category android:name="android.intent.category.BROWSABLE" /> 40 <data 41 android:scheme="https" 42 android:host="haniwa.page.link" /> 43 </intent-filter> 44 45 <!-- nfcのインテントフィルター --> 46 <intent-filter> 47 <action android:name="android.nfc.action.NDEF_DISCOVERED" /> 48 <category android:name="android.intent.category.DEFAULT" /> 49 <data android:host="haniwa.page.link" android:scheme="https"/> 50 </intent-filter> 51 52 </activity> 53 <!-- Don't delete the meta-data below. 54 This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> 55 <meta-data 56 android:name="flutterEmbedding" 57 android:value="2" /> 58 </application> 59 <uses-permission android:name="android.permission.NFC"/> 60</manifest>
試したこと
Google検索しました
同様の問題を見つけることができませんでした
補足情報(FW/ツールのバージョンなど)
Flutter 2.2.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision d79295af24 (5 weeks ago) • 2021-06-11 08:56:01 -0700
Engine • revision 91c9fc8fe0
Tools • Dart 2.13.3
あなたの回答
tips
プレビュー