将数据从一个应用程序发送到android中的另一个应用程序(AIR for ANDROID)

时间:2013-11-13 07:31:31

标签: android actionscript-3 flash air

我们可以使用Intent将数据从应用程序中的一个活动发送到另一个活动,也可以从一个应用程序发送到另一个应用程序 我可以使用以下代码将我的一个应用程序的数据发送到另一个应用程序 只考虑有两个应用APP1APP2,我将数据从APP1发送到APP2,反之亦然。

APP1包名称中:(com.sush.myApp)

public class HomeActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        // to receive data from com.my.demo package and display it to TextView
        TextView mText = (TextView)findViewById(R.id.textView1);
        String name=getIntent().getStringExtra("User_Message");
        mText.setText(name);

        // to send data from com.sush.myApp package to com.my.demo package
        Button btn1 =(Button)findViewById(R.id.button1);
        btn1.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
              {

                try
                {
                    Intent i = new Intent(Intent.ACTION_MAIN);
                    PackageManager manager = getPackageManager();
                    i = manager.getLaunchIntentForPackage("com.my.demo");
                    i.putExtra("User_ID", "sush19");
                    i.addCategory(Intent.CATEGORY_LAUNCHER);
                    startActivity(i);
                }catch(Exception e)
                {
                    e.printStackTrace();
                    Toast.makeText(v.getContext(), "App Not Found", Toast.LENGTH_LONG).show();
                }

              }
        });
    }

APP2包名:(com.my.demo)

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // to receive data from com.sush.myApp package and display it to TextView
        final TextView txt1 = (TextView)findViewById(R.id.Text1);
        String name=getIntent().getStringExtra("User_ID");
        txt1.setText(name);

        // to send data from com.my.demo package to com.sush.myApp package
        Button btnSending = (Button)findViewById(R.id.btnSend);
        final EditText myMessage = (EditText)findViewById(R.id.txtMessage);
        btnSending.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
            {
                if (myMessage.getText().toString().equals(""))
                {
                    Toast.makeText(v.getContext(), "Enter your message", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    try
                    {

                        Intent i = new Intent(Intent.ACTION_MAIN);
                        PackageManager manager = getPackageManager();
                        i = manager.getLaunchIntentForPackage("com.sush.myApp");
                        i.putExtra("User_Message", myMessage.getText().toString());
                        i.addCategory(Intent.CATEGORY_LAUNCHER);
                        startActivity(i);
                    }catch(Exception e)
                    {
                        e.printStackTrace();
                        Toast.makeText(v.getContext(), "Error: "+e, Toast.LENGTH_LONG).show();
                    }
                }
            }
        });
    }

它的工作完美..
Now my problem is I want to do same operation i.e sending data from one app to another but my first app is in Java created using Eclipse and my second app is in ActionScript created using AIR for Android in Adobe Flash Professional CS6

有没有办法在Intent中使用PackageManagerActionscript,以便我可以轻松地将数据从AIR应用程序发送到Android App,如果有,那么任何人都可以给我看一个例子
或者,任何人都可以向我展示如何将数据从Android应用程序发送到AIR for Android App的示例,反之亦然 谢谢......

1 个答案:

答案 0 :(得分:1)

我可以为此考虑两种方法。

第一种方法是使用您编写的Java代码(或类似代码),将其打包为Native Extension,并将其构建到您的应用程序中。

另一种方法是使用URI方案并从InvokeEvent中读取数据。 This SO question已涵盖该方法。