查找哪个应用程序启动了我的 Activity

spa*_*key 6 android android-activity

其他应用程序可以从我的应用程序中选择文件。

 <activity
            android:name="xxxx"
            android:icon="@drawable/xx"
            android:label="@string/title_activity_select_secure_cloud_drive_file_chooser" >
            <intent-filter>
                <action android:name="android.intent.action.PICK" />

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

                <data android:scheme="file" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.GET_CONTENT" />
                <category android:name="android.intent.category.OPENABLE" />
                <category android:name="android.intent.category.DEFAULT" />

                <data android:mimeType="*/*" />
            </intent-filter>
        </activity>
Run Code Online (Sandbox Code Playgroud)

我将文件发送回请求的应用程序

result.setData(uri);
setResult(Activity.RESULT_OK, result);
Run Code Online (Sandbox Code Playgroud)

一切正常。现在我需要知道谁在调用我的应用程序?例如(邮件,保管箱...等)

我试过getCallingActivity()它不起作用总是返回com.android.documentsui.DocumentsActivity

谁能帮我找到它。我正在使用棒棒糖,所以 getTask 技巧不起作用。帮助 !

小智 -1

使用getCallingActivity().getClassName()