【发布时间】:2012-04-02 14:00:10
【问题描述】:
我已经尝试了几乎所有 SO 的解决方案,但没有成功:(。
我有一个简单的 myJavaClass.java 有几个函数。
myJavaClass 中的一个函数:startActivity() 启动 MyCustomActivity
public startActivity(Context context)
{
Intent intent = new Intent(context, MyCustomActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);
}
这会按预期启动 MyCustomActivity()。
现在我在 myJavaClass.java 中有另一个函数来关闭/完成 MyCustomActivity 但它不能这样做!
我试过了
在清单中创建 MyCustomActivity SingleTop 并通过上述意图创建活动
在 MyCustomActivity 的 onCreate() 中将活动实例传递给“this”,并从 myJava.class 调用 MyCustomActivity.activity.finish(),但这也不起作用
请帮助我。我已经被困在这里几个小时了。我知道解决方案非常简单和概念化,但我是新手。只是构建 Java/Android 概念!
编辑
我的自定义活动
public Activity activity;
OnCreate()
{
...
this = activity;
}
我的Java类
public closeActivity(Context context)
{
Activity customActivity = MyCustomActivity.activity;
customActivity.finish();
}
【问题讨论】:
-
你能发布你的关闭函数吗?
-
myJavaClass.java如何关闭MyCustomActivity?你的意思是 myJavaClass.java 在单独的线程上运行吗?
-
正如我所说,我可能在做一些概念上的错误,所以请多多包涵。我刚开始java/android。这是在高层次上发生的事情。 SMS Broadast 接收器侦听特定消息,如果被触发,它会调用 MyJavaClass(这是一个由所有函数组成的简单库类)的 startActivity()。这会通过 sn-p 中所示的意图成功启动 MyCustomActivity。现在假设同一个 SMSBroadcastReceiver 调用 closeActivity() 反过来应该完成() MyCustomActivity 正在显示(活动)
-
我试图实施你的建议,但我得到了一个空监听器。请建议:stackoverflow.com/questions/9994298/…