alamin-karno / flutter-crisp-chat

A flutter plugin package for using crisp chat natively on Android & iOS.
MIT License
9 stars 5 forks source link

Unable to find explicit activity class #18

Open zionnite opened 1 month ago

zionnite commented 1 month ago

Have done everything i know how to do, I keep getting this error response


E/MethodChannel#flutter_crisp_chat( 5200): Failed to handle method call
E/MethodChannel#flutter_crisp_chat( 5200): android.content.ActivityNotFoundException: Unable to find explicit activity class {online.app.zeefashion.zeefashion/im.crisp.client.external.ChatActivity}; have you declared this activity in your AndroidManifest.xml?
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2158)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1736)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.Activity.startActivityForResult(Activity.java:5370)
E/MethodChannel#flutter_crisp_chat( 5200):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:704)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.Activity.startActivityForResult(Activity.java:5328)
E/MethodChannel#flutter_crisp_chat( 5200):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:683)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.Activity.startActivity(Activity.java:5714)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.Activity.startActivity(Activity.java:5667)
E/MethodChannel#flutter_crisp_chat( 5200):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.openActivity(FlutterCrispChatPlugin.java:154)
E/MethodChannel#flutter_crisp_chat( 5200):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.onMethodCall(FlutterCrispChatPlugin.java:80)
E/MethodChannel#flutter_crisp_chat( 5200):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
E/MethodChannel#flutter_crisp_chat( 5200):  at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
E/MethodChannel#flutter_crisp_chat( 5200):  at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/MethodChannel#flutter_crisp_chat( 5200):  at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.os.Handler.handleCallback(Handler.java:938)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.os.Looper.loop(Looper.java:268)
E/MethodChannel#flutter_crisp_chat( 5200):  at android.app.ActivityThread.main(ActivityThread.java:8017)
E/MethodChannel#flutter_crisp_chat( 5200):  at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter_crisp_chat( 5200):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
E/MethodChannel#flutter_crisp_chat( 5200):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
E/flutter ( 5200): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, Unable to find explicit activity class {online.app.zeefashion.zeefashion/im.crisp.client.external.ChatActivity}; have you declared this activity in your AndroidManifest.xml?, null, android.content.ActivityNotFoundException: Unable to find explicit activity class {online.app.zeefashion.zeefashion/im.crisp.client.external.ChatActivity}; have you declared this activity in your AndroidManifest.xml?
E/flutter ( 5200):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2158)
E/flutter ( 5200):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1736)
E/flutter ( 5200):  at android.app.Activity.startActivityForResult(Activity.java:5370)
E/flutter ( 5200):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:704)
E/flutter ( 5200):  at android.app.Activity.startActivityForResult(Activity.java:5328)
E/flutter ( 5200):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:683)
E/flutter ( 5200):  at android.app.Activity.startActivity(Activity.java:5714)
E/flutter ( 5200):  at android.app.Activity.startActivity(Activity.java:5667)
E/flutter ( 5200):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.openActivity(FlutterCrispChatPlugin.java:154)
E/flutter ( 5200):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.onMethodCall(FlutterCrispChatPlugin.java:80)
E/flutter ( 5200):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
E/flutter ( 5200):  at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
E/flutter ( 5200):  at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/flutter ( 5200):  at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/flutter ( 5200):  at android.os.Handler.handleCallback(Handler.java:938)
E/flutter ( 5200):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/flutter ( 5200):  at android.os.Looper.loop(Looper.java:268)
E/flutter ( 5200):  at android.app.ActivityThread.main(ActivityThread.java:8017)
E/flutter ( 5200):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 5200):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
E/flutter ( 5200):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
E/flutter ( 5200): )
E/flutter ( 5200): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:648:7)
E/flutter ( 5200): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
E/flutter ( 5200): <asynchronous suspension>
E/flutter ( 5200): #2      MethodChannelFlutterCrispChat.openCrispChat (package:crisp_chat/src/flutter_crisp_chat_method_channel.dart:17:5)
E/flutter ( 5200): <asynchronous suspension>
E/flutter ( 5200): #3      _SettingsState.build.<anonymous closure> (package:zeefashion/pages/setting/settings.dart:213:25)
E/flutter ( 5200): <asynchronous suspension>
E/flutter ( 5200): 
W/System  ( 5200): A resource failed to call close.

Screenshot ![Uploading Screenshot 2024-10-15 at 05.17.20.png…]() ![Uploading Screenshot 2024-10-15 at 05.17.43.png…]()

I was using version 2.0.6 then I switched to version 2.0.7 issues still persist.

please i need your help to resolve this. thanks

zionnite commented 1 month ago
Screenshot 2024-10-15 at 05 17 20 Screenshot 2024-10-15 at 05 17 43
alamin-karno commented 1 month ago
<provider android:name="androidx.core.content.FileProvider"
  android:authorities="${applicationId}.fileprovider;${applicationId}.im.crisp.client.uploadfileprovider"
  android:exported="false"
  android:grantUriPermissions="true"
  tools:replace="android:authorities">
  <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 
    android:resource="@xml/file_paths"
    tools:replace="android:resource" />
</provider>

Remove this!!! This is optional!!

Add Crisp authority and path to your FileProvider in AndroidManifest.xml (If your app declares a FileProvider in its AndroidManifest.xml)

zionnite commented 1 month ago

thanks for the quick reply sir, Yes, my app declares a FileProvider in my AndroidManifest.xml

zionnite commented 1 month ago

so please how do I then add the Crisp authority? thanks for your guidance

zionnite commented 1 month ago
Screenshot 2024-10-15 at 10 44 42
alamin-karno commented 1 month ago

Why do you need Crisp Authority?

This is optional so remove it.

zionnite commented 1 month ago

Sir, I have removed the Crisp Authority, yet I keep getting the error. i have run clean flutter and pub get issues still persist

zionnite commented 1 month ago

this is my androidmanifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="online.app.zeefashion.zeefashion"
>

    <uses-permission android:name="android.permission.USE_BIOMETRIC"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

    <application
        android:label="Zee Fashion"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher"
        tools:node="replace"
        android:enableOnBackInvokedCallback="true"
        android:allowBackup="false"
    >
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:taskAffinity=""
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>

            <!--Deep Link-->
            <meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" android:host="app.zeefashion.online"/>
                <data android:scheme="https" />
            </intent-filter>

            <meta-data
                    android:name="com.google.firebase.messaging.default_notification_channel_id"
                    android:value="general_channel" />
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />

        <receiver android:exported="false" android:name="com.dexterous.flutterlocalnotifications.ActionBroadcastReceiver" />

        <service
                android:exported="false"
                android:name="io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingService"
        >
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>

        <service
                android:name="com.google.firebase.components.ComponentDiscoveryService"
                android:directBootAware="true"
                android:exported="false" >

            <meta-data
                    android:name="com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar"
                    android:value="com.google.firebase.components.ComponentRegistrar"
            />

            <meta-data
                    android:name="com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar"
                    android:value="com.google.firebase.components.ComponentRegistrar" />
        </service>

        <provider
                android:name="androidx.core.content.FileProvider"
                android:authorities="online.app.zeefashion.zeefashion.flutter.share_provider"
                android:exported="false"
                android:grantUriPermissions="true">
            <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/provider_paths" tools:replace="android:resource"/>
        </provider>

    </application>
    <!-- Required to query activities that can process text, see:
         https://developer.android.com/training/package-visibility and
         https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.

         In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
    <queries>
        <intent>
            <action android:name="android.intent.action.PROCESS_TEXT"/>
            <data android:mimeType="text/plain"/>
        </intent>
    </queries>

</manifest>
zionnite commented 1 month ago

here is the persisting error message

E/MethodChannel#flutter_crisp_chat( 2285): Failed to handle method call
E/MethodChannel#flutter_crisp_chat( 2285): android.content.ActivityNotFoundException: Unable to find explicit activity class {online.app.zeefashion.zeefashion/im.crisp.client.external.ChatActivity}; have you declared this activity in your AndroidManifest.xml?
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2158)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1736)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.Activity.startActivityForResult(Activity.java:5370)
E/MethodChannel#flutter_crisp_chat( 2285):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:704)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.Activity.startActivityForResult(Activity.java:5328)
E/MethodChannel#flutter_crisp_chat( 2285):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:683)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.Activity.startActivity(Activity.java:5714)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.Activity.startActivity(Activity.java:5667)
E/MethodChannel#flutter_crisp_chat( 2285):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.openActivity(FlutterCrispChatPlugin.java:154)
E/MethodChannel#flutter_crisp_chat( 2285):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.onMethodCall(FlutterCrispChatPlugin.java:80)
E/MethodChannel#flutter_crisp_chat( 2285):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
E/MethodChannel#flutter_crisp_chat( 2285):  at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
E/MethodChannel#flutter_crisp_chat( 2285):  at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/MethodChannel#flutter_crisp_chat( 2285):  at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.os.Handler.handleCallback(Handler.java:938)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.os.Looper.loop(Looper.java:268)
E/MethodChannel#flutter_crisp_chat( 2285):  at android.app.ActivityThread.main(ActivityThread.java:8017)
E/MethodChannel#flutter_crisp_chat( 2285):  at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter_crisp_chat( 2285):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
E/MethodChannel#flutter_crisp_chat( 2285):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
E/flutter ( 2285): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, Unable to find explicit activity class {online.app.zeefashion.zeefashion/im.crisp.client.external.ChatActivity}; have you declared this activity in your AndroidManifest.xml?, null, android.content.ActivityNotFoundException: Unable to find explicit activity class {online.app.zeefashion.zeefashion/im.crisp.client.external.ChatActivity}; have you declared this activity in your AndroidManifest.xml?
E/flutter ( 2285):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2158)
E/flutter ( 2285):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1736)
E/flutter ( 2285):  at android.app.Activity.startActivityForResult(Activity.java:5370)
E/flutter ( 2285):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:704)
E/flutter ( 2285):  at android.app.Activity.startActivityForResult(Activity.java:5328)
E/flutter ( 2285):  at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.kt:683)
E/flutter ( 2285):  at android.app.Activity.startActivity(Activity.java:5714)
E/flutter ( 2285):  at android.app.Activity.startActivity(Activity.java:5667)
E/flutter ( 2285):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.openActivity(FlutterCrispChatPlugin.java:154)
E/flutter ( 2285):  at com.alaminkarno.flutter_crisp_chat.FlutterCrispChatPlugin.onMethodCall(FlutterCrispChatPlugin.java:80)
E/flutter ( 2285):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
E/flutter ( 2285):  at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
E/flutter ( 2285):  at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/flutter ( 2285):  at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/flutter ( 2285):  at android.os.Handler.handleCallback(Handler.java:938)
E/flutter ( 2285):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/flutter ( 2285):  at android.os.Looper.loop(Looper.java:268)
E/flutter ( 2285):  at android.app.ActivityThread.main(ActivityThread.java:8017)
E/flutter ( 2285):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 2285):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:627)
E/flutter ( 2285):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
E/flutter ( 2285): )
E/flutter ( 2285): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:648:7)
E/flutter ( 2285): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
E/flutter ( 2285): <asynchronous suspension>
E/flutter ( 2285): #2      MethodChannelFlutterCrispChat.openCrispChat (package:crisp_chat/src/flutter_crisp_chat_method_channel.dart:17:5)
E/flutter ( 2285): <asynchronous suspension>
E/flutter ( 2285): #3      _SettingsState.build.<anonymous closure> (package:zeefashion/pages/setting/settings.dart:213:25)
E/flutter ( 2285): <asynchronous suspension>
E/flutter ( 2285): 

Please help, this is beyond me

zionnite commented 1 month ago

Did you find the issue?

On Tue, Oct 15, 2024, 11:32 AM Md. Al-Amin @.***> wrote:

Why do you need Crisp Authority that is optional so remove that.

— Reply to this email directly, view it on GitHub https://github.com/alamin-karno/flutter-crisp-chat/issues/18#issuecomment-2413514851, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTZ2YPQCKTPT7DD2XHXDBLZ3TVM7AVCNFSM6AAAAABP6HH2YCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJTGUYTIOBVGE . You are receiving this because you authored the thread.Message ID: @.***>

alamin-karno commented 1 month ago

No, I didn't find any issue!! The example is working fine on my device. I'm searching and trying to generate the issue.

zionnite commented 1 month ago

thanks @alamin-karno for keeping me updated.