【问题标题】:How to open messages from Android App using startActivityForResult()如何使用 startActivityForResult() 从 Android App 打开消息
【发布时间】:2016-05-16 05:57:15
【问题描述】:

我想使用浮动操作按钮从我的 Android 手机打开一条新消息。我已使用 startActivityForResult() 方法成功打开设置。但是当我使用相同的方法打开消息时,这种方法似乎不起作用。为了更清楚,我还附上了我的代码。

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               startActivityForResult(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS),0);
                /*Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();*/
            }
        });

【问题讨论】:

    标签: android floating-action-button startactivityforresult


    【解决方案1】:

    你可以发送这个意图:

    Intent intent = new Intent(Intent.ACTION_VIEW);         
    intent.setData(Uri.parse("sms:"));
    startActivity(intent);
    

    请注意,在这种情况下startActivityForResult 不是必需的,因为第二个活动不应该向第一个活动返回值。

    【讨论】:

      【解决方案2】:

      试试这样的:

      FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
              fab.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View view) {
                    Intent sendIntent = new Intent(Intent.ACTION_VIEW);         
                    sendIntent.setData(Uri.parse("sms:"));
                    startActivityForResult(sendIntent , 0);
      
                  }
              });
      

      【讨论】:

      • 非常感谢。有效。但是你能帮我一个忙吗?我实际上是在尝试理解代码。所以你能不能给我一个从 startActivityForResult() 方法打开联系人的代码,这样我就可以研究它们并找出区别。虽然我在网上找到了各种各样的例子,但我没有找到任何人使用这种方法。
      • 您好,您需要更改dataaction对应的联系方式。这是一个选择 contact 的意图。 Intent intent= new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); startActivityForResult(intent, PICK_CONTACT);
      • 我之前确实做到了(感谢 stackoverflow),但面临 PICK_CONTACT 参数的问题。错误显示“无法解析符号 PICK_CONTACT”。我应该在我的 java 文件中导入什么吗?
      • PICK_CONTACT 是一个 int ,只不过是您的 requestCode 。把这个private static final int PICK_CONTACT = 10 ; 作为一个全局初始化。
      • 试过这个。但遗憾的是我的应用程序停止工作。
      猜你喜欢
      • 2011-11-13
      • 2013-06-01
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多