Android 调试应用程序已从意图筛选器启动(自定义文件扩展名)

Android 调试应用程序已从意图筛选器启动(自定义文件扩展名),android,intentfilter,Android,Intentfilter,我有一个自己编写的自定义文件扩展名,可以使用文件管理器加载它 然而,有两件事: 我如何调试我的应用程序(在eclipse中),使其不通过文件管理器中的意图过滤器启动,因为有一些问题,我想在调试器中讨论一下 有没有办法设置一个图标,这样当我在文件管理器中浏览我的自定义文件扩展名时,我可以看到我的应用程序的启动图标,而不是我看到的纯白色矩形 谢谢 只需将代码放入onNewIntent(),像往常一样通过调试启动应用程序,按home按钮关闭应用程序,在文件管理器中打开文件 不,大多数文件管理器都有自己

我有一个自己编写的自定义文件扩展名,可以使用文件管理器加载它

然而,有两件事:

  • 我如何调试我的应用程序(在eclipse中),使其不通过文件管理器中的意图过滤器启动,因为有一些问题,我想在调试器中讨论一下

  • 有没有办法设置一个图标,这样当我在文件管理器中浏览我的自定义文件扩展名时,我可以看到我的应用程序的启动图标,而不是我看到的纯白色矩形

  • 谢谢

  • 只需将代码放入
    onNewIntent()
    ,像往常一样通过调试启动应用程序,按home按钮关闭应用程序,在文件管理器中打开文件

  • 不,大多数文件管理器都有自己的文件图标,至少没有办法在所有文件管理器中为您的文件类型设置图标。文件管理器在Android中通常没有默认功能,因此无法以某种方式设置文件图标


  • 要进行调试,请在onResume()中放置一个对话框,以便您的应用程序暂停输入(或以其他方式进行)。启动时,使用调试器附加到应用程序进程,例如在Studio中,
    Run->attach debugger to Android进程

    对于选择器中的图标,请使用以下命令:

    <intent-filter android:icon="drawable resource"
        ...
    </intent-filter>
    

    谢谢,这只在您呼叫single top时有效?我只是使用了上面的阻塞方法,因为代码更少:)至于图标,我想如果清单注册了它,它会找到它。谢谢,阻塞效果很好。当我将文件转换为以下内容时,尽量避免因堆栈溢出而陷入太多麻烦:file:///mnt/sdcard/download/sampleguide.amg  (我将file://添加到开头)当我尝试加载它时,我得到一个file not found异常。我添加了外部文件写入。知道吗?请在新问题中显示打开文件的bi代码。干杯,呃,是我的错,我编造了错误的uri,现在一切都正常了。谢谢你的帮助。