【问题标题】:How to clear the data from roRegistrysection Roku in developer mode如何在开发者模式下清除 roRegistrysection Roku 中的数据
【发布时间】:2015-09-24 10:51:02
【问题描述】:

我正在开发一个 roku 应用程序,这需要我保存并清除密钥 d。我可以使用 roRegistrySection 来做到这一点,但是当我删除频道时,如果我浏览下面的文档,该密钥仍然存在

Roku Documentation

请教我怎么做。

【问题讨论】:

  • 没有Roku专业的人

标签: roku brightscript


【解决方案1】:

这是因为您在同一个 Roku 盒子上使用相同的开发者密钥签署了另一个应用程序。重新阅读您链接到的文档页面 - 注册表不是唯一/隔离的“每个应用程序”而是每个“开发人员 ID” - 这样两个应用程序可以共享一个注册表,如果他们愿意(有时可能很有用)。只有当最后一个这样的应用程序被删除时,注册表存储才会被清除。

如果这不是“公共”或“私人”频道,而是“侧载”(开发、开发频道),您可能需要重新启动 Roku 才能让注册表 清除。

【讨论】:

    【解决方案2】:

    我在开发过程中使用了一个简单的工具箱功能来清除注册表。比卸载和重新启动更快、更容易。

    sub DeleteRegistry()
        print "Starting Delete Registry"
        Registry = CreateObject("roRegistry")
        i = 0
        for each section in Registry.GetSectionList()
            RegistrySection = CreateObject("roRegistrySection", section)
            for each key in RegistrySection.GetKeyList()
                i = i+1
                print "Deleting " section + ":" key
                RegistrySection.Delete(key)
            end for
            RegistrySection.flush()
        end for
        print i.toStr() " Registry Keys Deleted"
    end sub
    

    我也有一个类似的用于查看注册表。

    【讨论】:

    • 什么时候调用这个,因为我没有任何明确的操作,比如退出?
    • 我只在想清除注册表时调用它;不作为正常操作的一部分。所以我要么有一个只是这个的开发应用程序,要么我从调试窗口调用它。如果您不打算在应用程序关闭后保留注册表数据;那么您可能不需要注册表。你想完成什么?
    • @Saty 如果您想在退出时清除 - 也许注册表不是您应该使用的?注册表用于在应用重新启动时(以及上述相同开发的应用之间)持久化数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2014-01-03
    相关资源
    最近更新 更多