receive_sharing_intent icon indicating copy to clipboard operation
receive_sharing_intent copied to clipboard

[Android]Not receiving the intent when the app is closed

Open luisestudioalfa opened this issue 4 years ago • 1 comments

Hello,

I'm trying to receive the intent when the app is closed, but it doesn't receive the data. Once the app opened, the intent is received as it should...

When the data is received (and url), it is loaded in a webview (i'm using the inappbrowser)

Main.dart `@override void initState() { super.initState();

// For sharing or opening urls/text coming from outside the app while the app is closed
ReceiveSharingIntent.getInitialText().then((String value) {
  if(value != "" && value != null)
  {
    url = value;
    webView.loadUrl(url: url);
    setState(() {});
  }
});

// For sharing or opening urls/text coming from outside the app while the app is in the memory
_intentDataStreamSubscription = ReceiveSharingIntent.getTextStream().listen((String value) {

  if(value != null && value != "")
  {
    url = value;
    webView.loadUrl(url: url);
    setState(() {});
    print(value);
  }
  
}, onError: (err) {
  _sharedText = "nothing to share";
  setState(() {});
  print("getLinkStream error: $err");
});

}`

Android manifest.xml `

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>

<!-- io.flutter.app.FlutterApplication is an android.app.Application that
     calls FlutterMain.startInitialization(this); in its onCreate method.
     In most cases you can leave this as-is, but you if you want to provide
     additional functionality it is fine to subclass or reimplement
     FlutterApplication and put your custom class here. -->
<application
    android:icon="@mipmap/launcher_icon"
    android:label="XXX">
    <activity
        android:name=".MainActivity"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:launchMode="singleTask"
        android:theme="@style/LaunchTheme"
        android:windowSoftInputMode="adjustResize">
        <!-- This keeps the window background of the activity showing
             until Flutter renders its first frame. It can be removed if
             there is no splash screen (such as the default splash screen
             defined in @style/LaunchTheme). -->
        

        <!--TODO: Change the url host name you want to support-->
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />


        </intent-filter>

        <!--TODO: Add this filter, if you want to support sharing text into your app-->
        <intent-filter>
           <action android:name="android.intent.action.SEND" />
           <category android:name="android.intent.category.DEFAULT" />
           <data android:mimeType="text/*" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND_MULTIPLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>

        <meta-data
            android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
            android:value="true" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <meta-data
        android:name="flutterEmbedding"
        android:value="2" />
</application>

`

Any help?

luisestudioalfa avatar Jan 22 '21 14:01 luisestudioalfa

Any updates on this?

Do you think it could be solved by setting up an isolate so that the app stays running in the background?

davidgomesdev avatar Aug 28 '21 11:08 davidgomesdev