【问题标题】:Debugging app started from intent-filter (custom file extension)从意图过滤器(自定义文件扩展名)开始调试应用程序
【发布时间】:2014-02-10 19:06:54
【问题描述】:

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

但是有两件事:

  1. 我如何调试我的应用程序(在 Eclipse 中)通过文件管理器中的意图过滤器启动它,因为存在一些问题,我想在调试器中解决它。

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

谢谢。

【问题讨论】:

    标签: android intentfilter


    【解决方案1】:

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

    对于选择器中的图标,请使用:

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

    对于浏览,您无能为力,因为您不“拥有”该扩展程序,您只是宣传它的意图。

    【讨论】:

    • 谢谢,阻止它工作正常。当我将文件翻译为:file:///mnt/sdcard/download/sampleguide.amg(我在开头添加了 file://)时,尽量不要因为堆栈溢出而陷入太多麻烦,然后尝试加载它我得到一个文件未找到异常。我添加了外部文件写入。有什么想法吗?
    • 请仅显示您在新问题中打开文件的代码 bi。
    • 干杯,我的错,我编错了 uri,现在一切正常。感谢您的帮助。
    【解决方案2】:
    1. 只需将代码放入onNewIntent(),像往常一样通过调试启动应用程序,按主页按钮关闭应用程序,在文件管理器中打开文件。

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

    【讨论】:

    • 谢谢,只有调用单顶才有效?我只是使用了上面的阻塞方法,因为它的代码更少:) 至于图标,我想我认为如果清单注册了它就会找到它。
    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2011-04-15
    • 2010-12-16
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    相关资源
    最近更新 更多