gpt4 book ai didi

android - 从 Intent 数据中获取短信地址

转载 作者:行者123 更新时间:2023-11-29 01:30:01 25 4
gpt4 key购买 nike

我需要从不同类型的 Intent 中检索电话号码。案例的 Intent 是:

Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address","phoneNumber");
smsIntent.putExtra("sms_body","message");
startActivity(smsIntent);

或:

Intent sms_intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:xxxxxxxxxx"); 
sms_intent.putExtra("sms_body", "This is my message!");
startActivity(sms_intent);

当我开始新的 Activity 时,我会得到额外的 bundle :

Bundle extras = getIntent().getExtras();
if (extras != null) {
//some code
}

具体来说,对于第一种情况,其中 Intent 明确绑定(bind)一个额外的键 "address" 我这样做:

extra_phoneNumber = extras.getString("address");

但我在尝试检索 smsto: 之后的值时遇到了一些问题,用于第二个 Intent 案例。

我已经尝试通过 bundle extras 进行迭代:

for (String key : bundle.keySet()) {
Object value = bundle.get(key);
Log.d(TAG, String.format("%s %s (%s)", key,
value.toString(), value.getClass().getName()));

但是如果 extras 是空的,这会给我一个 NPE。

由于缺乏来自 Google 本身的文档,我找不到任何东西,所以任何答案都会非常有帮助!提前致谢。

最佳答案

我建议您通过调试器检查 2nd case intent 的内部结构。除了 extras 之外,还有其他字段可以存储信息。请查看Intent.getData()Intent.getDataString()

关于android - 从 Intent 数据中获取短信地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com