我的项目有一个名为 MainActivity 的活动和一个 BrowserActivity 扩展对话服务。
MainActivity 将在应用程序启动时意图 BrowserActivity。
我想BrowserActivity可以访问MainActivity的公共方法。
类似的东西: MainActivity 上的方法:
public void chooseShare(Intent intent)
{
try
{
startActivityForResult( intent , PICK_SHARE);
} catch (android.content.ActivityNotFoundException ex)
{
Log.e("Share" , ex.getMessage());
}
}
我想在 BrowserActivity 上做:(伪代码)
((MainActivity)BrowserActivity.this.getOwnerActivity()).chooseShare(intent);
我尝试这样做:
MainActivity ma = new MainActivity();
ma.chooseShare(i);
但是,它不起作用,它会抛出 NULLPointerException。
因为我需要startActivityForResult()
而不是startActivity()
回调结果。
我在 SOF 上挖掘,我发现startActivityForResult()
应该从 开始Activity
,但不是Dialog
。
感谢您。