java - Youtube Android API - callingAppVersion 不能为 null 或为空

标签 java android youtube-api android-youtube-api

所以在我的 fragment 中,我放入了以下代码来处理我的 ListView 的 onclickitem

ls.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    ChannelItem c = (ChannelItem) parent.getAdapter().getItem(position);
                    Intent myIntent = new Intent(getActivity().getBaseContext(), PlayerViewActivity.class);
                    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    getActivity().getBaseContext().startActivity(myIntent);
                }
            });

我知道这不是最干净的代码,我正计划重新格式化它。但它暂时有效(我在使用 YoutubeBaseActivity 之前通过测试 Activity 对其进行了测试)。只是为了澄清这段代码没有问题,但它是为了说明我正在遵循的流程。

因此,当 youtube Activity 启动时,它会执行以下类(class)

public class PlayerViewActivity extends YouTubeBaseActivity implements
        YouTubePlayer.OnInitializedListener {

    static private final String VIDEO = "4SK0cUNMnMM";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.youtube_player);
        YouTubePlayerView youTubeView = (YouTubePlayerView)
                findViewById(R.id.youtube_view);
        youTubeView.initialize(Api.DEV_KEY, this);
    }
    @Override
    public void onInitializationFailure(YouTubePlayer.Provider provider,
                                        YouTubeInitializationResult error) {
        Toast.makeText(this, "Oh no! "+error.toString(),
                Toast.LENGTH_LONG).show();
    }
    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
                                        boolean wasRestored) {
        player.loadVideo(VIDEO);
    }

}

这是我在任何地方都找不到任何帮助的地方

youTubeView.initialize(Api.DEV_KEY, this);

这行代码一遍又一遍地抛出同样的错误

  Caused by: java.lang.IllegalArgumentException: callingAppVersion cannot be null or empty
            at com.google.android.youtube.player.internal.ac.a(Unknown Source)
            at com.google.android.youtube.player.internal.o.<init>(Unknown Source)
            at com.google.android.youtube.player.internal.ad.a(Unknown Source)
            at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)
            at com.google.android.youtube.player.YouTubeBaseActivity$a.a(Unknown Source)
            at com.google.android.youtube.player.YouTubePlayerView.initialize(Unknown Source)
            at view.PlayerViewActivity.onCreate(PlayerViewActivity.java:44)
            at android.app.Activity.performCreate(Activity.java:5104)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
            ... 11 more

谁能帮帮我?

最佳答案

您需要在Manifest文件中添加您的应用的版本号和版本名,例如:

android:versionCode="1"
android:versionName="1.0"

关于java - Youtube Android API - callingAppVersion 不能为 null 或为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17549687/

相关文章:

java - 如何使用 Apache Ignite/GridGain 在任何节点上重试失败的作业

java - 为没有自己的 rss 的网站生成 rss feed 的方法是什么?

java - MainFragment 处的 NullPointerException

api - GData Youtube API 的搜索视频方法是否免费(免费配额)?

youtube - 如何在没有 OAuth 的情况下使用 Youtube Analytics API?

java - 我如何循环回到 Java * 初学者* 中的主菜单

android - 将变量传递到 <include> 的布局标签

java - android/java 概念用单个循环调用所有 getter 方法

android - 牛轧糖状态栏上的抽屉导航?

python - 如何使用Youtube的V3 API直接使用Python上传视频?