如何通过非Activity类从另一个动画中获取数据

时间:2015-11-24 15:09:40

标签: android android-intent android-softkeyboard

我有一个软键盘不会扩展活动它有一个按钮,当我点击我完全意图另一个应用程序,但当我想得到响应从该应用程序扩展活动,并有一个按钮,问题是,当我点击该按钮时,它会回到我的第一个应用程序,但我的第一个应用程序无法从中得到意图。 这是我的软键盘的一部分:

  public void onKey(int primaryCode, int[] keyCodes) {
   if (primaryCode == LatinKeyboardView.KEYCODE_11) // username_paste_button
    {
        handle_username_paste(); // handle username_paste_button
    }

}
private void handle_username_paste() { // handle username_paste_button
   try {
               // url = (EditText) findViewById(R.id.urlTextEdit);
                String text ="google.com";
                Intent i = new Intent(Intent.ACTION_MAIN);
                PackageManager manager = getPackageManager();
                i = manager.getLaunchIntentForPackage("fake.domain.examplesta");
                i.putExtra("URL", text);
                i.addCategory(Intent.CATEGORY_LAUNCHER);
                startActivity(i);
               // startActivityForResult(i, 1);
            } catch (Exception e) {
                e.printStackTrace();
                //Toast.makeText(v.getContext(), "App Not Found", Toast.LENGTH_LONG).show();
            }
    String name = getIntent().getStringExtra("OTP");
}

知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

通常您会致电startActivityForResult(i, 1)开始活动,当您完成该活动后,请致电:

setResult(RESULT_OK) finish()

现在的问题是,为了接收结果,您需要方法startActivityForResult(),该方法只能从扩展Activity类的类中获得。你没有提供太多关于'软键盘'课程正在做什么或使用什么的信息,但我能给出的唯一建议就是重组你的课程以便从活动开始。