Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:什么是规范包名?_Android_Android Package Managers - Fatal编程技术网

Android 安卓:什么是规范包名?

Android 安卓:什么是规范包名?,android,android-package-managers,Android,Android Package Managers,Android的PackageManager类具有currentToCanonicalPackageNames()和canonicalToCurrentPackageNames()方法。规范的包名到底是什么?在哪里使用(它的用途是什么)?它何时与当前包名称不同 例如,在我的Nexus S上,浏览器应用程序的当前包名为“com.google.android.browser”,其规范名称与“com.google.android.browser”相同。对于我检查过的其他一些应用程序,我也得到了相同的当

Android的PackageManager类具有currentToCanonicalPackageNames()和canonicalToCurrentPackageNames()方法。规范的包名到底是什么?在哪里使用(它的用途是什么)?它何时与当前包名称不同


例如,在我的Nexus S上,浏览器应用程序的当前包名为“com.google.android.browser”,其规范名称与“com.google.android.browser”相同。对于我检查过的其他一些应用程序,我也得到了相同的当前包名和规范包名。无论是developer.android.com还是源代码都没有给我解释什么是规范的包名。希望这有助于更好地理解我上面的问题。

以下是开发人员文档:

公共抽象字符串[]currentToCanonicalPackageNames(字符串[]名称)

公共抽象字符串[]canonicalToCurrentPackageNames(字符串[]名称)

查看源代码的此链接以更好地了解:


请参考这个StackOverflow问题:

yes:)但规范的包名到底代表什么?当前包名和规范包名之间有什么区别?何时/何地使用?我还没有在developer.android.com上找到答案,谢谢,但是这些链接仍然没有回答我的问题。(另一个StackOverflow问题只是显示了如何获取这些规范名称,而源代码甚至没有文档。但没有人告诉我们这些规范名称到底是什么,它们的用途是什么等)。我知道这是一个非常古老的问题,但我只想指出谷歌自己使用了“getCanonicalName()举个例子,说明在哪里最好记录什么是规范名称。在他们的风格指南中查看:@AbeFehr拥有更多新信息总是很棒的。
Added in API level 8
Map from the current package names in use on the device to whatever the current canonical name of that package is.

Parameters
names   Array of current names to be mapped.
Returns
Returns an array of the same size as the original, containing the canonical name for each package.
Added in API level 8
Map from a packages canonical name to the current name in use on the device.

Parameters
names   Array of new names to be mapped.
Returns
Returns an array of the same size as the original, containing the current name for each package.