• <small id='DXopL'></small><noframes id='DXopL'>

    <i id='DXopL'><tr id='DXopL'><dt id='DXopL'><q id='DXopL'><span id='DXopL'><b id='DXopL'><form id='DXopL'><ins id='DXopL'></ins><ul id='DXopL'></ul><sub id='DXopL'></sub></form><legend id='DXopL'></legend><bdo id='DXopL'><pre id='DXopL'><center id='DXopL'></center></pre></bdo></b><th id='DXopL'></th></span></q></dt></tr></i><div id='DXopL'><tfoot id='DXopL'></tfoot><dl id='DXopL'><fieldset id='DXopL'></fieldset></dl></div>
      <legend id='DXopL'><style id='DXopL'><dir id='DXopL'><q id='DXopL'></q></dir></style></legend>

      <tfoot id='DXopL'></tfoot>

          <bdo id='DXopL'></bdo><ul id='DXopL'></ul>

        何时在 Android 中为 ComponentName 使用哪个构造函数?

        时间:2024-04-13
          <tbody id='xGzOD'></tbody>
        <tfoot id='xGzOD'></tfoot>

          • <legend id='xGzOD'><style id='xGzOD'><dir id='xGzOD'><q id='xGzOD'></q></dir></style></legend>

              <i id='xGzOD'><tr id='xGzOD'><dt id='xGzOD'><q id='xGzOD'><span id='xGzOD'><b id='xGzOD'><form id='xGzOD'><ins id='xGzOD'></ins><ul id='xGzOD'></ul><sub id='xGzOD'></sub></form><legend id='xGzOD'></legend><bdo id='xGzOD'><pre id='xGzOD'><center id='xGzOD'></center></pre></bdo></b><th id='xGzOD'></th></span></q></dt></tr></i><div id='xGzOD'><tfoot id='xGzOD'></tfoot><dl id='xGzOD'><fieldset id='xGzOD'></fieldset></dl></div>
            • <small id='xGzOD'></small><noframes id='xGzOD'>

                <bdo id='xGzOD'></bdo><ul id='xGzOD'></ul>
                  本文介绍了何时在 Android 中为 ComponentName 使用哪个构造函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  I am a little bit confused about the ComponentName class in Android.

                  There are different ways to get to a component name object, but I don't know when to use which... and why!

                  Example:

                  • Application package is de.zordid.sampleapp
                  • but widget provider class is de.zordid.sampleapp.widget.WidgetProvider

                  Using

                  ComponentName cn = new ComponentName("de.zordid.sampleapp.widget",
                      "WidgetProvider");
                  

                  I got this component info: ComponentInfo{de.zordid.sampleapp.widget/WidgetProvider}, but I could not use this - the component is unknown! But the JavaDoc says I should give the package and the class within that package - and that is what I did, didn't I??

                  Using

                  ComponentName cn = new ComponentName(context, WidgetProvider.class);
                  

                  yields ComponentInfo{de.zordid.sampleapp/de.zordid.sampleapp.widget.WidgetProvider} - and that works fine!!

                  There is even another way to get a ComponentName - by context and a string. Which one should be used where and when??

                  Thanks!

                  解决方案

                  The ComponentName constructor taking two Strings can be used to refer to a component in another application. But, the first argument is not the package name of the class; it is the package name of the application---the package attribute of the manifest element in that application's AndroidManifest.xml. So your first example should be

                  ComponentName cn = new ComponentName("de.zordid.sampleapp",
                      "de.zordid.sampleapp.widget.WidgetProvider");
                  

                  That constructor could certainly be used to refer to components in your own application, but since you already have hold of a Context from your own application you might as well use it and use one of the other constructors. In my opinion, the one taking a Class should be preferred whenever usable. You could use the one taking a String if you only know the class dynamically for some reason; in that case, it should take the fully-qualified class name as above.

                  这篇关于何时在 Android 中为 ComponentName 使用哪个构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何将多个组件添加到 PickerView? 下一篇:Android 对话框编号选择器

                  相关文章

                    <bdo id='Rkl9Z'></bdo><ul id='Rkl9Z'></ul>
                  <tfoot id='Rkl9Z'></tfoot>

                    <small id='Rkl9Z'></small><noframes id='Rkl9Z'>

                  1. <i id='Rkl9Z'><tr id='Rkl9Z'><dt id='Rkl9Z'><q id='Rkl9Z'><span id='Rkl9Z'><b id='Rkl9Z'><form id='Rkl9Z'><ins id='Rkl9Z'></ins><ul id='Rkl9Z'></ul><sub id='Rkl9Z'></sub></form><legend id='Rkl9Z'></legend><bdo id='Rkl9Z'><pre id='Rkl9Z'><center id='Rkl9Z'></center></pre></bdo></b><th id='Rkl9Z'></th></span></q></dt></tr></i><div id='Rkl9Z'><tfoot id='Rkl9Z'></tfoot><dl id='Rkl9Z'><fieldset id='Rkl9Z'></fieldset></dl></div>
                    <legend id='Rkl9Z'><style id='Rkl9Z'><dir id='Rkl9Z'><q id='Rkl9Z'></q></dir></style></legend>