如何将数据从一个应用程序传输到 Android中的另一个应用程序

我有两个应用程序,com.appone.one和com.apptwo.two。

我有两个应用程序,com.appone.onecom.apptwo.two

我想将数据从appone传输到apptwo,我想当数据传输到apptwoapptwo打开或如果打开只出现(onResume)并显示该数据。

com.appone.one:

 Intent i = new Intent(Intent.ACTION_DATE_CHANGED);
                    PackageManager manager = getPackageManager();
                    i = manager.getLaunchIntentForPackage("com.apptwo.two");
                    i.putExtra("MessageText",""+Connect.MessageArrive.toString());
                   i.addCategory(Intent.CATEGORY_LAUNCHER); 
startActivity(i);

com.apptwo.two:

@Override
    public void onResume() {
        super.onResume();
        String name=getIntent().getStringExtra("MessageText");
        Toast.makeText(getApplicationContext(),String.valueOf(name), Toast.LENGTH_LONG).show();
    }  

我只想写这一行:

String name=getIntent().getStringExtra("MessageText");

OnResume中,因为我不想再次加载 apptwpo,如果我在onCreate中编写这一行,我的代码工作正常。但我希望在onResume中。现在apptwo返回 null:(

我该怎么办?提前感谢

3

您可以使用 Content Providers 在应用程序之间共享数据。您可以通过以下链接了解有关 Content Providers 的更多信息。

http://developer.android.com/guide/topics/providers/content-providers.html

注意:如果我没有错与您的应用程序之间的内容提供商传递数据,您需要使用相同的密钥库签署您的应用程序。

您还可以使用 Intents 将数据传递给您的应用程序。您可以从检查它。

http://developer.android.com/training/sharing/send.html

这不是一个好的做法,但您可以使用共享首选项。

SharedPreferences preferences = getSharedPreferences(PREF_NAME, MODE_WORLD_READABLE);
1

第三种可能更好的方法是使用protocol或自定义URI scheme。默认情况下,这是 Android 应用程序发送和接收数据的方式。例如,当您单击通过电子邮件发送给您的 url 链接时,应用程序会打开默认的浏览器应用程序。这是因为在操作系统中注册的浏览器可以处理与 Web uri 模式匹配的 URI。

请参阅附加链接

http://developer.android.com/training/basics/intents/filters.html
0

这两个应用程序都是你的,所以可以很容易地做到这一点。

1)通过使用共享首选项,您可以从 app1 将数据保存在移动设备中,并获取该数据并在 app2 中使用,反之亦然。

SharedPreferences 仅对小数据有用。

2)内容提供商按照您的要求进行操作,只有在需要在多个应用程序之间共享数据时才需要内容提供商

http://developer.android.com/guide/topics/providers/content-providers.html

在您的情况下,您的应用程序必须是内容提供商

请参考您的要求http://www.compiletimeerror.com/2013/12/content-provider-in-android.html#.Vwsy1vl97IU

0

使用 Intent 与 BroadCastReceiver 一起在应用程序之间传递数据

在您的 appOne 创建

1) 动态广播接收器在您的 appOne 活动在特定事件调用 sendBroadcast (意图)

不要像上面提到的那样调用活动。在 appTwo 中注册一个广播接收器,并使用 appTwo 中提到的相同操作从 appOne 中发送 Broadacst 意图。因此,当您从 appOne 中触发 sendbradcast(Intent)时,将触发 appTwo 侦听该意图,并且在那里您调用 appTwo 的 Activity(您的 MainActivity)appTwo 检查您的 Activity

现在在您的 appTwo 创建

1)静态 BroadCastReceiver 接收的意图与一些行动清单,当应用程序未打开

2)动态广播接收器在你的 appTwo 活动,如果应用程序是开放的刷新消息

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(963)
Tailwind预处理器-来自数据库的类
上一篇
python机器学习sklearn代码moshPython课程中的语法错误。如果有人可以帮助我 我将不胜感激
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(84条)