相关疑难解决方法(0)

列出Intent的所有额外内容

出于调试原因,我想列出Intent的所有额外内容(及其值).现在,获取密钥不是问题

Set<String> keys = intent.getExtras().keySet();
Run Code Online (Sandbox Code Playgroud)

但获取键的值对我来说是一个,因为一些值是字符串,一些是布尔值...我怎么能在循环中获取值(循环键)并将值写入日志文件?谢谢你的提示!

android android-intent

234
推荐指数
7
解决办法
11万
查看次数

在android中以编程方式发送文本消息

好.我正在通过我的应用发送短信.发送文本消息后,它会向服务器发送状态更新.这部分工作正常,但我遇到的问题是双重的.我不确定它们是否相关,但我认为它们是相关的.

我的应用程序可以向多个用户发送单个文本.这是代码示例...

if(phoneNumbers.length > 0 && message.getText().toString().equals("") == false)
{
    for(int i=0;i<phoneNumbers.length;i++)
    {
        sms = SmsManager.getDefault();
        try
        {
            sms.sendTextMessage(phoneNumbers[i], null, message.getText().toString(), null, null);
            sentQuantity++;
        }
        catch(IllegalArgumentException e)
        {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,它只是循环遍历一组电话号码,并一次发送一个文本.这是我的问题的一部分.如果我选择3个或更多数字来发送文本,有时并不是所有文本都会被发送.它发生得非常随机.

我认为这是因为发送每条消息之间存在延迟,但代码不会等待足够长的时间.我达到了这个假设,因为如果我使用eclipse进入程序并手动浏览应用程序,一切都可以正常工作.

我的另一个问题是当我将文本消息状态更新发送到Web服务器时.

文本消息发送后,应用程序立即连接到互联网,并通过http发布服务器告知服务器发送的文本数量.这是我的互联网代码片段......

for(int i = 0; i < postNames.length; i++)
{
    nameValuePairs.add(new BasicNameValuePair(postNames[i], postValues[i]));
    }

    //http post
    try{

            HttpParams httpParameters = new BasicHttpParams();
            int timeoutConnection = 10000;

            HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection );

            HttpClient httpclient = new DefaultHttpClient(httpParameters);              
            HttpPost httppost = new HttpPost(webAddress);
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity …
Run Code Online (Sandbox Code Playgroud)

sms android android-intent

41
推荐指数
2
解决办法
8万
查看次数

找出SMS是否已发送的实用方法

我对如何判断SMS是否已从设备发送感兴趣.

为了在收到短信时收到通知,我们使用广播公司:

android.provider.Telephony.SMS_RECEIVED
Run Code Online (Sandbox Code Playgroud)

重要的是,我不从我的应用程序发送短信,我应该听取从设备发送短信时.

可能是我应该听一些内容提供商(以某种方式与SMS相关)并对此更改作出反应.有什么想法我能做到吗?

android

9
推荐指数
2
解决办法
1万
查看次数

如何确定哪个SIM卡在双卡Android设备中收到短信

我正在开发一个项目,将Android手机中收到的短信同步到在线数据库.我可以通过调用getOriginatingAddress()方法获取发件人的号码.但我找不到任何解决方案来确定我的设备中的哪个SIM卡收到了短信.

我在网上搜索了它,但找不到解决这个问题的方法.有没有办法获得短信接收者的号码?

sms android telephonymanager

8
推荐指数
1
解决办法
9180
查看次数

如何在 Android 中发送短信?

如何发送短信?这看起来很简单,但对我来说不起作用。

我在清单中获得了许可:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.healthapp.healthapp">

<uses-permission android:name="android.permission.SEND_SMS"/>

<application   ...
Run Code Online (Sandbox Code Playgroud)

然后我的 onClick 中有这段代码:

SmsManager smsManager = SmsManager.getDefault();

smsManager.sendTextMessage("07123456789", null, "Hello there!", null, null);

Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content");
sendIntent.setType("vnd.android-dir/mms-sms");
                            startActivity(sendIntent);
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个程序时,我得到“不幸的是应用程序已停止”。

以及错误消息:

FATAL EXCEPTION: main
Process: com.healthapp.healthapp, PID: 13477
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android-dir/mms-sms (has extras) }
Run Code Online (Sandbox Code Playgroud)

java sms android smsmanager

2
推荐指数
1
解决办法
4006
查看次数