Articles of sms

调用SmsManager.sendTextMessage()时,Android 8需要READ_PHONE_STATE

我的应用程序无法在新的Android 8更新上发送短信。 我收到错误,我没有READ_PHONE_STATE权限。 java.lang.SecurityException: Neither user 10179 nor current process has android.permission.READ_PHONE_STATE. at android.os.Parcel.readException(Parcel.java:1942) at android.os.Parcel.readException(Parcel.java:1888) at com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber(ISms.java:789) at android.telephony.SmsManager.sendTextMessageInternal(SmsManager.java:329) at android.telephony.SmsManager.sendTextMessage(SmsManager.java:312) at com.cordova.plugins.sms.Sms.send(Sms.java:192) at com.cordova.plugins.sms.Sms.access$400(Sms.java:22) at com.cordova.plugins.sms.Sms$1.run(Sms.java:102) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 通常这种错误很好 – 我只是意识到我需要一个许可并要求它。 但在这种情况下,我找不到任何需要READ_PHONE_STATE才能使用SmsManager的文档。 这里既没有sendTextMessage也没有新的Android 8 更新说明 。 后者提到要获得硬件序列号,我现在需要READ_PHONE_STATE权限。 进一步研究我发现很多其他人都遇到过这个问题,但除了要求获得许可之外,没有任何人有任何细节或解决方案。 所以今天我用简单的纯应用程序重新创建了问题,只需要SEND_SMS权限并发送短信。 并得到了完全相同的问题。 它适用于Android 8以下的所有内容。但是在Android 8上崩溃了权限错误。如果有人想要重新创建它,这是源代码。 compileSdkVersion 26 buildToolsVersion “26.0.2” defaultConfig { […]

如何在Android中使用Delphi XE5发送短信

有人知道怎么让这个工作吗? 我得到的最接近的是下面的代码,但没有成功。 首先,当它告诉您需要SEND_SMS权限时,它会给您一些希望。 但在您设置此权限后,没有任何反应! uses Androidapi.JNI.JavaTypes; procedure TForm1.Button1Click(Sender: TObject); var smsManager: JSmsManager; smsTo, smsFrom: JString; begin smsManager:= TJSmsManager.JavaClass.getDefault; smsTo:= StringToJString(‘552199999999’); //replace with the right destination number smsFrom:= StringToJString(‘552499999999’); //replace with the right originator number smsManager.sendTextMessage(smsTo, smsFrom, StringToJString(Edit1.Text), nil, nil); end;

如何在双卡手机中使用SMSmanager发送短信?

我使用短信管理器发送短信。对于单一SIM卡,它可以完美地发送短信。但是在双卡中短信将不会发送。是否有可能从双卡发送短信,如果可能的话意味着我如何选择哪个SIM卡发送短信。任何人都知道帮我解决这个问题。 单SIM卡工作代码 SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(ph_number, null, body, null,null);

短信注册,如移动应用程序:whatsapp

我想知道这些短信注册机制是如何工作的。 我在互联网上搜索,但问题是,有很多短信提供商想要出售在线短信服务,我找不到任何东西…… 问题:这是如何工作的:设置您的手机号码,我们会向您发送带有一次性注册码的短信。 将此代码放入我们的应用程序。 背后是什么? 他们有短信网关或类似的东西吗? 这不是太贵吗? 谢谢

SMS_RECEIVED没有在冰淇淋三明治上工作?

我正在尝试使用android.provider.Telephony.SMS_RECEIVED来捕获传入的短信。 我构建了一个简单的应用程序,它适用于2.x,但是当我在我的4.0模拟器或设备上试用它时,它不起作用。 有任何想法吗? 表现: MyFirstApp.java public class MyFirstApp extends BroadcastReceiver { private static final String SMS_RECEIVED = “android.provider.Telephony.SMS_RECEIVED”; private static final String TAG = “MyFirstApp”; @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, “Intent recieved: ” + intent.getAction()); } }

android中与SMS关联的数据库列数量?

我想通过手机阅读所有信息及其各自的详细信息。 为此,我使用这样的Uri: Uri sms = Uri.parse(“content://sms/”); 但是我不知道数据库中有多少列与这个uri相关联。 我想显示以下信息: 消息types 发件人编号 邮件正文 时间戳 任何人都可以列举总列名吗?

用于发送短信的Android广播接收器?

我创建了一个BroadcastReceiver ,并使用android.provider.Telephony.SMS_RECEIVED动作filter对其进行配置,以便每次手机接收到文本时都会调用它。 是否有一些事件/操作或其他方式可以在手机发送文本时通知我的应用程序(最好是独立于发送它的应用程序)? 到目前为止,我看到的唯一选择是轮询内容提供商的content://sms/sent ,它甚至没有给我所有发送的文本,因为应用程序可以选择不将它放在那里。

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

我想创建一个应用程序,当SMS到达并处理该SMS时收到通知,但是读取createFromPdu函数的引用,它指出: 这个方法很快就会被弃用,并且所有通过处理SMS_RECEIVED_ACTION广播意图来处理传入SMS消息的应用程序现在必须将新格式String extra从intent传递到新方法createFromPdu(byte [],String),该方法需要额外的格式参数。 这是为了在需要同时支持3GPP和3GPP2格式的设备上正确解码PDU所需的,例如双模GSM / CDMA和CDMA / LTE电话。 但是文档和SDK都缺少createFromPdu(byte[], String)函数。 我该怎么办? 我需要支持这些双卡双待手机。

在Hangouts 2.0中启用SMS支持会破坏我的应用中的SMS_RECEIVED的BroadcastReceiver

我刚刚收到了Hangouts 2.0的更新,安装了它并启用了SMS → Turn on SMS 。 现在我的应用程序在Android 4.3下运行,无法再接收短信,即我的BroadcastReceiver for SMS_RECEIVED不再被调用。 🙁 只要我在环聊2.0中禁用Turn on SMS ,我的应用就可以再次接收SMS_RECEIVED意图。 广播接收器在此类清单中注册 AndroidManifest.xml中 … … SMSReceiver.java public class SMSReceiver extends BroadcastReceiver { private static final Log LOG = Log.getLog(); @Override public void onReceive(Context context, Intent intent) { LOG.d(“onReceive”); … } } 我已经尝试将接收器的优先级更改为INT_MAX或999,这是intent-filter文档中可能的最高优先级 ,但没有成功。 我知道SMS_RECEIVED意图是按顺序发送的,高优先级应用程序可以中止广播。 1但是,Hangouts 2.0似乎不太可能注册具有高优先级的SMS_RECEIVED接收器并调用abortBroadcast() ,因此阻止任何其他应用程序接收意图。 更令我困惑的是,即使将Hangouts 2.0作为默认短信应用,我的Pebble仍然可以接收短信。 我想知道Pebble的不同之处是什么? […]

通过ADB在Android上发送短信

我希望能够通过使用以下ADB命令连接到我的电脑时,从我的Android手机发送短信 adb shell am start -a android.intent.action.SENDTO -d sms:CCXXXXXXXXXX –es sms_body "SMS BODY GOES HERE" –ez exit_on_sent true adb shell input keyevent 22 adb shell input keyevent 66 我有这个工作,但是在手机上,这将popup一个文本消息给收件人与身体填写,然后单击发送button,并返回到你在哪里。 有没有办法在后台完全做到这一点,所以不会干扰手机上发生的任何事情?