クロノメーターコンポーネントのドキュメントを誤って読み直しました。 API 24には、クロノメーターをカウントダウンモードで動作させる新しいメソッドがあることがわかりました。 彼はチェックし始め、簡単な例を書いた。 すべてが機能します。 コードは簡単なので、ここでは説明しません。
そして、API 26に追加された別の新しいメソッドisFinalCountDown()に注目しました 。 メソッドの説明は非常に少なく、これが最後のカウントダウンであるかどうかにかかわらず 。 何らかの理由で、クロノメーターのカウンターが00:00になった瞬間を判断できると思いました。 そのようなチェックを個別に手配できるようです。 変です。 ボタンをクリックするだけでメソッドを呼び出すことにしました。 エミュレーターで実行します。
public void onClick(View view) { mChronometer.isTheFinalCountDown(); }
効果は予想外でした。 突然、Youtubeアプリケーションが起動し、Europe Last Countバンドの歌が再生され始めます。 最初はある種の不具合だと思い、間違った場所のどこかをクリックしました。 しかし、それは歌の名前と方法の一致でした。 私は再びそれを始めました-ビデオは再び始まります。 おもしろくなった。 私はAndroid 8.0のソースを検索し始め、 この場所を見つけました 。
/** * @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; } }
このメソッドでは、YouTubeのクリップのアドレスが保護されます。これは、 Intentメカニズムを使用して起動されます。
開始されたビデオのスクリーンショット: