【问题标题】:Sending data into my app without actually launching it将数据发送到我的应用程序而不实际启动它
【发布时间】:2012-09-04 20:49:36
【问题描述】:

请帮帮忙,因为我对这种事情不是很熟悉。

当用户选择(长按)当前网址时 - 在 alertDialog 中会弹出一个“共享页面”选项 - 这是 Android 最初提供的。

现在,我已经注册了我的应用程序来处理这个“分享页面”事件。现在,当用户从共享页面列表中选择我的应用程序时 - 我希望将网址保存在文件结构中某处的文本文件中,以便稍后在我的应用程序中访问它。

如果我不想启动整个应用程序来保存该链接地址,我该如何实现?它可以在后台运行吗?

【问题讨论】:

    标签: android android-activity android-alertdialog


    【解决方案1】:

    很容易。不要在Activity 中捕获它,而是在Service 中捕获它。

    【讨论】:

      【解决方案2】:

      让它变得简单。不要在onCreate 中为您的分享活动设置任何内容。相反,在onCreate 中执行所有保存部分并在最后调用finish();

      希望整个过程足够快(如果需要更长的时间,或者引入AsyncTask),用户不会感到任何滞后并启动新活动:)

      【讨论】:

      • 这次我只想好好做:)
      • 如果你的应用没有Service那么不要仅仅为了执行这个简单的任务而引入它
      • 我想我会听你的建议:)
      • 好。此外,如果您在很短的时间内遇到黑屏,那么我建议您将主题设置为@android:style/Theme.Panel 以使其不可见
      • 太棒了!谢谢xx的关心
      【解决方案3】:

      我假设您在 Manifest 中有一个带有 <intent-filter> 的活动来处理 Share Intent。

      你可以通过两种方式做你想做的事:

      • 使用服务并使其处理共享意图。即保存网址。
      • 在您的活动中:
        • 不要在onCreate() 中调用setContentView()。这可能不是 100% 看不见的。黑屏可能出现。
        • 开始您的服务。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 2020-02-12
      • 2019-12-15
      • 1970-01-01
      • 2014-08-02
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多