为什么 Chronometer class 中的 isTheFinalCountDown 方法会打开 YouTube 视频?
Why does the isTheFinalCountDown method in Chronometer class open a YouTube video?
public 方法 isTheFinalCountDown
只是打开歌曲 The Final Count Down 的 YouTube 视频。
所有 doc 不得不说的是:
whether this is the final countdown
由于这是 public api,因此此方法的真实用例是什么。或者它只是另一个像 isUserAGoat
函数一样的彩蛋?
https://www.reddit.com/r/androiddev/comments/6yti73/easter_egg_from_google/
in API 26 Google devs added new public method "isTheFinalCountDown" to class "Chronometer". If you will run this method in your app it will open YouTube video of the rock band Europe - The final Countdown
为了向已接受的答案添加一些细节,它使用 Chronometer
的 Context
来启动一个 Activity
,其意图过滤器匹配:
- 操作:Intent.ACTION_VIEW 和一个 youtu.be uri
- 类别:Intent.CATEGORY_BROWSABLE 如果您没有安装 youtube,大概是作为备用
这里是实现
/**
* @return whether this is the final countdown
*/
public boolean isTheFinalCountDown() {
try {
getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse("https://youtu.be/9jK-NcRmVcw"))
.addCategory(Intent.CATEGORY_BROWSABLE)
.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT
| Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT));
return true;
} catch (Exception e) {
return false;
}
}
public 方法 isTheFinalCountDown
只是打开歌曲 The Final Count Down 的 YouTube 视频。
所有 doc 不得不说的是:
whether this is the final countdown
由于这是 public api,因此此方法的真实用例是什么。或者它只是另一个像 isUserAGoat
函数一样的彩蛋?
https://www.reddit.com/r/androiddev/comments/6yti73/easter_egg_from_google/
in API 26 Google devs added new public method "isTheFinalCountDown" to class "Chronometer". If you will run this method in your app it will open YouTube video of the rock band Europe - The final Countdown
为了向已接受的答案添加一些细节,它使用 Chronometer
的 Context
来启动一个 Activity
,其意图过滤器匹配:
- 操作:Intent.ACTION_VIEW 和一个 youtu.be uri
- 类别:Intent.CATEGORY_BROWSABLE 如果您没有安装 youtube,大概是作为备用
这里是实现
/**
* @return whether this is the final countdown
*/
public boolean isTheFinalCountDown() {
try {
getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse("https://youtu.be/9jK-NcRmVcw"))
.addCategory(Intent.CATEGORY_BROWSABLE)
.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT
| Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT));
return true;
} catch (Exception e) {
return false;
}
}