Search code examples
javaandroidandroid-intentsamsung-mobilegalaxy

What Intent is used to send a multi task list from the Action Memo app to the S Planner app?


What Intent is used to send a multi task list from the Action Memo app to S Planner app on the Samsung Galaxy Note 3 (and other related Note devices)?

On a Note 3 device, if you open the Action Memo, then write a list of items on multiple lines, then press the Link to Action button, then Select Task, it will then send the data to S Planner, which converts each line into a separate task. What Intent is being used to pass this info from the Action Memo app to the S Planner app?


Solution

  • The short answer:

    I don't believe that's it's using an intent in this case.

    The long answer:

    I have been able to pin down an intent to every other option in the Link to Action menu in ActionMemo. The following code snippet gives intent filters that can be used in a manifest file to catch each of these:

           <!-- Phone -->
            <intent-filter>
                <action android:name="android.intent.action.DIAL"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="tel"/>
            </intent-filter>
            <!-- Contact -->
            <intent-filter>
                <action android:name="android.intent.action.INSERT"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="vnd.android.cursor.dir/contact"/>
            </intent-filter>
            <!-- Messaging -->
            <intent-filter>
                <action android:name="android.intent.action.SENDTO" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="smsto" />
            </intent-filter>
            <!-- Email -->
            <intent-filter>
                <action android:name="android.intent.action.SENDTO"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="mailto"/>
            </intent-filter>
            <!-- Browser -->
            <intent-filter>
                <action android:name="android.intent.action.WEB_SEARCH"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <!-- Map -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="geo"/>
            </intent-filter>
            <!-- Task (one line) -->
            <intent-filter>
                <action android:name="android.intent.action.EDIT"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="vnd.android.cursor.item/event"/>
            </intent-filter>
            <!-- Task (multi line) -->
            <!--  I don't believe it uses an intent for this. -->
    

    I was able to determine these by using tools such as Intent Intercept to catch and analyze some, but not all, intents, and Manifest Viewer to analyze the manifest files for applications that were currently recieving these intest, and also through the use of adb logcat.

    But even with all of this I was still unable to find an intent for this specific case. I even took the manifest file from the Samsung SPlanner app (essentially Samsung's modified version of the standard Android calendar app) and copied every single intent filter from it to my own manifest file, and made sure that the SPlanner app wasn't set as a default app for any intents. And I was still unable to intercept an intent for this action. From my understanding, this should have been a sure fire way to catch the intent if an intent was being used. As such, I have to conclude that an intent is not being used for communication between these two apps in this particular situation.

    If anyone else has more information, feel free to comment.

    EDIT: No one else seems to have anything to add, so I'm accepting my answer.