android - 如何在 Android 上找到传递给 Delphi 应用程序的文件?

标签 android file delphi

我们必须编写一个知道如何打开 .xyz 文件的 Android 应用。

然而,当我们将 .xyz 文件分配给我们的应用程序,然后我们在 Android 的文件资源管理器中点击一个 .xyz 文件时,应用程序会正确启动,但程序不会将文件名视为参数。

代码

  ShowMessage(ParamStr(0)); //for debug...
  ShowMessage(ParamStr(1));

它不会在消息框中显示应用程序的完整路径,然后是点击(单击)文件名的完整路径,而是显示两个空字符串。

我们如何获取点击(点击)文件的完整路径?

更新:

(的一部分) list 如下所示:

    <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
            android:label="MMBook"
            android:configChanges="orientation|keyboardHidden">
        <!-- Tell NativeActivity the name of our .so -->
        <meta-data android:name="android.app.lib_name"
            android:value="MMBook" />
        <intent-filter>  
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter> 
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="file"  android:host="*" android:pathPattern=".*\\.mma" android:mimeType="*/*"  />
        </intent-filter>
    </activity>

最佳答案

您需要调用 SharedActivity.getIntent() 来检查您的应用程序是否由 Intent 启动。如果返回一个非零的Intent,您可以检索它的数据(即文件名)并采取相应的行动。例如,请参阅我对以下问题的回答:

Handling Custom URI in Delphi XE5 Android App
https://stackoverflow.com/a/20465775/65863

关于android - 如何在 Android 上找到传递给 Delphi 应用程序的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582604/

相关文章:

delphi - 用 Delphi 区分缓冲区

java - Android 的碰撞&触摸+射击方法

python-3.x - 如何在文本文件上编写控制台输出

delphi - 在 Debug模式下运行的 Delphi 程序可以与 IDE 的文本编辑器交互吗?

algorithm - 除了逐字节检查外,还有哪些其他方法可以确定两个文件内容是否相同?

postgresql - 如何在postgres中复制文件

delphi - 如何在delphi中不使用OLE将word文档转换为pdf?

android - Dagger 2 瞄准镜说明

android - 打开/关闭 Android 设备

android - recyclerview 同时与其他 View 滚动