gpt4 book ai didi

java - 正确地从非 Activity 类开始一个 Intent

转载 作者:太空狗 更新时间:2023-10-29 14:54:57 25 4
gpt4 key购买 nike

我的应用程序是 OpenGL ES 2.0 应用程序,因此具有 2 个必需的线程(UI 线程和 GL 线程)

我有一个扩展 Activity 的类,从那里我可以像这样轻松地启动 Intent :

Public class MainActivity extends Activity{

public void goToSomeWebsite(){

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(webAddress)));

}
}

现在,我有另一个类,它基本上是一个场景,我在该类中有一个 onTouchEvent 方法以及一个渲染方法和一些其他方法。因此,onTouchEvent 在 UI 线程上运行,而渲染方法(和其他方法)在 GL 线程上运行。

所以我的课应该是这样的:

public class MyScene implements Scene(){

@Override
public void render(){
//Render something here
}

@Override
public void updateLogiC(){
//Do some other work here
}

@Override
public boolean onTouchEvent(MotionEvent event){
//Handle touch events
return false;
}
}

从上面的类(class)中,开始这个其他 Intent 的正确(和安全)方法是什么?

我是从 GL 线程(比如上面的 updateLogic)还是从 UI 线程(比如上面的 onTouchEvent 方法)启动它重要吗?

目前,我有一个 Activity 类的句柄,只需执行如下操作:

activity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(webAddress)));

它工作正常(这是从 GL 线程完成的),但是,有些事情告诉我这不是完成此任务的正确方法。

最佳答案

如果你的类提供上下文、应用程序等你可以很容易地这样做

getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com/")));

getApplication().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://stackoverflow.com/")));

关于java - 正确地从非 Activity 类开始一个 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com