【问题标题】:startActivity(Intent intent)'s not working in the Android version of my LibGDX projectstartActivity(Intent intent) 在我的 LibGDX 项目的 Android 版本中不起作用
【发布时间】:2013-06-14 15:28:26
【问题描述】:

所以我有一个特定于平台的类,它实现了核心对象的接口。这个平台特定对象的一个​​实例被传递到主活动中。到目前为止,这似乎是有效的,但对于我的生活,我无法弄清楚 startActivity() 应该来自哪里。我看到多个类都有它,但我不知道我应该从哪一个继承。

这是我的平台特定类:

import android.content.Intent;
import android.net.Uri;

public class PlatformObject implements PlatformSpecificImplentationable
{

public void actionviewIntent(String designedIntent)
{
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse(designedIntent));
    startActivity(intent);
}

}

我正在尝试这样做,以便在将正确的 URL 传递给该方法时,它将打开 Youtube 应用程序以访问特定视频。

老实说,我真的不知道自己在做什么。如果在这个问题的直接范围之外我会遇到任何问题,我想提个醒。

提前致谢。

【问题讨论】:

    标签: android android-intent libgdx start-activity


    【解决方案1】:

    您可以使用Gdx.net.openURI(theYouTubeUri);,这将在 YouTube 应用或浏览器中打开视频,具体取决于他们的设备/默认设置/选择。

    如果你想使用你的接口方法,接口应该有一个对你的 Activity (AndroidApplication) 的引用并从那里使用 startActivity。

    【讨论】:

      【解决方案2】:

      我对 Gdx 没有任何经验,因此我会查看 @nEx.Software 的答案,以了解似乎对该库有意义的解决方案。如果您想使用startActivity(),希望这可以帮助:

      startActivity() 是来自Context class 的方法,Activity 扩展自该方法。鉴于您的代码,您可以考虑使用两种技术来启动您的意图...

      1. 添加ContextActivity 作为actionviewIntent 方法的参数,并使用context.startActivity(intent) 调用startActivity。
      2. 在您的 Activity 类中创建一个方法,该方法将意图作为参数并使用它调用 startActivity。让 actionviewIntent 返回它创建的意图并在您的 Activity 中实现一些东西,这将调用 actionviewIntent 和您启动 Activity 的新方法。

      我在第一种技术上取得了很大的成功,我认为它是两者中的清洁剂,但是如果您经常为不同的操作执行此操作,那么第二种方法将提供一个很好的可重用方法。希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多