相关疑难解决方法(0)

Android - 短信广播接收器

我一直试图让这个程序工作,但到目前为止没有运气.我无法找到我做错的地方.我不确定代码或调试是否有问题.

我正在尝试收到新短信到达时的通知.

这是我的计划:

package Technicaljar.SMSBroadcastReceiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;

public class SMSBroadcastReceiver extends BroadcastReceiver {

        private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
        private static final String TAG = "SMSBroadcastReceiver";

        @Override
        public void onReceive(Context context, Intent intent) {
             Log.i(TAG, "Intent recieved: " + intent.getAction());

                if (intent.getAction() == SMS_RECEIVED) {
                    Bundle bundle = intent.getExtras();
                    if (bundle != null) {
                        Object[] pdus = (Object[])bundle.get("pdus");
                        final SmsMessage[] messages = new SmsMessage[pdus.length];
                        for (int i …
Run Code Online (Sandbox Code Playgroud)

sms android broadcastreceiver android-intent

51
推荐指数
3
解决办法
9万
查看次数

"不推荐使用此方法"对应用程序开发人员意味着什么

我看到了很多好的旧有用的方法,甚至整个类都被"弃用和过时".

但是用于调用这些方法的代码仍然有效.那么,作为Android应用程序开发人员,这对我意味着什么呢?

  1. 只要我愿意,继续使用此方法,因为较新的SDK将始终保持向后兼容.
  2. 只要我为旧目标构建(例如API 8),它就会工作,但如果我从API 14构建,编译器将拒绝完成构建.
  3. (1)和(2)
  4. 其他?

当没有提供替代方案时,这尤其令人困惑,例如WebView.PictureListener.html#onNewPicture.

android

36
推荐指数
3
解决办法
3万
查看次数

Android - 从PDU弃用的API创建SMS?

我想创建一个应用程序,当SMS到达并处理该SMS时收到通知,但是读取createFromPdu函数的引用,它声明:

这个方法很快就会被弃用,所有通过处理SMS_RECEIVED_ACTION广播意图来处理传入SMS消息的应用程序现在必须将新格式String extra从intent传递给新方法createFromPdu(byte [],String),这需要额外的格式参数.这是为了在需要同时支持3GPP和3GPP2格式的设备上正确解码PDU所需的,例如双模GSM/CDMA和CDMA/LTE电话.

但是createFromPdu(byte[], String)文档和SDK都缺少该功能.

我该怎么办?我需要支持这些双卡双待手机.

sms android deprecated android-6.0-marshmallow

26
推荐指数
3
解决办法
2万
查看次数

特定号码的Android短信监听器

我正在编写一个通过短信与其他设备通信的应用程序。

我能够为收到的短信实现一个监听器。问题是它正在收听所有收到的消息。我只想收听从特定号码收到的短信。

这是我的onReceive方法。

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Bundle bundle = intent.getExtras();

    Object messages[] = (Object[]) bundle.get("pdus");
    SmsMessage smsMessage[] = new SmsMessage[messages.length];
    for (int n = 0; n < messages.length; n++) {
        smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
    }

    // show first message
    Toast toast = Toast.makeText(context,
                  "Received SMS: " + smsMessage[0].getMessageBody(),
                  Toast.LENGTH_LONG);
    toast.show();
}
Run Code Online (Sandbox Code Playgroud)

sms android

5
推荐指数
1
解决办法
4266
查看次数