在Android上与YouTube应用互动

时间:2015-11-21 23:17:17

标签: android youtube android-youtube-api

我想在Android上与YouTube应用互动。

我的应用程序基本上是一直在运行的服务。 我想检测用户是否正在观看YouTube然后锁定手机,当他回来时,最后观看的视频应继续播放。

有什么建议吗?从哪里开始?

我正在考虑在播放按钮上实现软件触摸。还有其他办法吗?

2 个答案:

答案 0 :(得分:2)

以下是制作视频的方法:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + id));
startActivity(intent);

答案 1 :(得分:2)

获取Android API密钥

  1. 首先,我们需要使用java keytool在您的计算机上获取SHA-1指纹。在cmd / terminal中执行以下命令以获取SHA-1指纹。
  2. 转到Google Developer Console并选择或创建一个新项目。

  3. 在左侧边栏上,选择API和API下的API。使用身份验证并为YouTube Data API v3启用状态。

  4. 在左侧边栏上,选择“公共API访问”下的“凭据”和“创建新密钥”。

  5. 当弹出窗口要求您选择平台时,请选择Android Key。

  6. 将SHA-1键和项目的包名称用分号(;)分隔。

  7. 点击“创建”。现在,您应该在仪表板上看到API KEY。

  8.  public class MainActivity extends YouTubeBaseActivity implements
            YouTubePlayer.OnInitializedListener {
    
        private static final int RECOVERY_DIALOG_REQUEST = 1;
    
        // YouTube player view
        private YouTubePlayerView youTubeView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    
            setContentView(R.layout.activity_main);
    
            youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
    
            // Initializing video player with developer key
            youTubeView.initialize(Config.DEVELOPER_KEY, this);
    
        }
    
        @Override
        public void onInitializationFailure(YouTubePlayer.Provider provider,
                YouTubeInitializationResult errorReason) {
            if (errorReason.isUserRecoverableError()) {
                errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show();
            } else {
                String errorMessage = String.format(
                        getString(R.string.error_player), errorReason.toString());
                Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
            }
        }
    
        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider provider,
                YouTubePlayer player, boolean wasRestored) {
            if (!wasRestored) {
    
                // loadVideo() will auto play video
                // Use cueVideo() method, if you don't want to play it automatically
                player.loadVideo(Config.YOUTUBE_VIDEO_CODE);
    
                // Hiding player controls
                player.setPlayerStyle(PlayerStyle.CHROMELESS);
            }
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == RECOVERY_DIALOG_REQUEST) {
                // Retry initialization if user performed a recovery action
                getYouTubePlayerProvider().initialize(Config.DEVELOPER_KEY, this);
            }
        }
    
        private YouTubePlayer.Provider getYouTubePlayerProvider() {
            return (YouTubePlayerView) findViewById(R.id.youtube_view);
        }
    
    }