如果您对mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解mipush的receiver无法获得消息
如果您对mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容的各种细节,此外还有关于)Lorg/apache/spark/streaming/api/java/JavaPairReceiverInputDStream;、Android 7 BroadcastReceiver onReceive intent.getExtras缺少数据、Android BroadcastReceiver无法接收任何广播事件、android – BroadcastReceiver SMS_Received无法在新设备上运行的实用技巧。
本文目录一览:- mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容
- )Lorg/apache/spark/streaming/api/java/JavaPairReceiverInputDStream;
- Android 7 BroadcastReceiver onReceive intent.getExtras缺少数据
- Android BroadcastReceiver无法接收任何广播事件
- android – BroadcastReceiver SMS_Received无法在新设备上运行
mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容
mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容
貌似mipush的sdk需要这里面的条目
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">捷商汇</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="log">日志</string>
<string name="settings">设置</string>
<string name="set_alias">设置别名</string>
<string name="unset_alias">撤销别名</string>
<string name="set_account">设置帐号</string>
<string name="unset_account">撤销帐号</string>
<string name="subscribe_topic">订阅标签</string>
<string name="unsubscribe_topic">撤销标签</string>
<string name="set_env">设置环境</string>
<string name="set_accept_time">设置时间</string>
<string name="pause_push">暂停推送</string>
<string name="resume_push">恢复推送</string>
<string name="current_env">当前环境:%s</string>
<string name="official_env">线上环境</string>
<string name="sandbox_env">沙箱环境</string>
<string name="register_success">Register push success.</string>
<string name="register_fail">Register push fail.</string>
<string name="recv_passthrough_message"> Receive a passthrough message. Content is \"%1$s\"</string>
<string name="click_notification_message"> Clicked a notification message. Content is \"%1$s\"</string>
<string name="arrive_notification_message"> Arrived a notification message. Content is \"%1$s\"</string>
<string name="set_alias_success"> Set alias \"%1$s\" success.</string>
<string name="set_alias_fail"> Set alias fail for %1$s.</string>
<string name="unset_alias_success"> Unset alias \"%1$s\" success.</string>
<string name="unset_alias_fail"> Unset alias fail for %1$s.</string>
<string name="set_account_success"> Set account \"%1$s\" success.</string>
<string name="set_account_fail"> Set account fail for %1$s.</string>
<string name="unset_account_success"> Unset account \"%1$s\" success.</string>
<string name="unset_account_fail"> Unset account fail for %1$s.</string>
<string name="subscribe_topic_success"> Subscribe topic \"%1$s\" success.</string>
<string name="subscribe_topic_fail"> Subscribe topic fail for %1$s.</string>
<string name="unsubscribe_topic_success"> Unsubscribe topic \"%1$s\" success.</string>
<string name="unsubscribe_topic_fail"> Unsubscribe topic fail for %1$s.</string>
<string name="set_accept_time_success"> Set accept time %1$s - %2$s success.</string>
<string name="set_accept_time_fail"> Set accept time fail for %1$s.</string>
</resources>
)Lorg/apache/spark/streaming/api/java/JavaPairReceiverInputDStream;
java.lang.NoSuchMethodError: org.apache.spark.streaming.kafka.KafkaUtils.createStream(Lorg/apache/spark/streaming/api/java/JavaStreamingContext;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Lorg/apache/spark/streaming/api/java/JavaPairReceiverInputDStream;
at org.apache.spark.examp.JavaKafkaWordCount.main(JavaKafkaWordCount.java:84)
Android 7 BroadcastReceiver onReceive intent.getExtras缺少数据
Bundle bundle = intent.getExtras(); textMessage = bundle.getString("TEXT_MESSAGE"); ArrayList<MyPhoneNumber> phoneNumbersToText = bundle.getParcelableArrayList("PHONE_NUMBERS");
textMessage和phoneNumbersToText都为null.
这是我的清单文件中的一个片段:
<receiver android:process=":remote" android:name="com.friscosoftware.timelytextbase.AlarmReceiver"></receiver>
这是加载数据的片段:
Intent intent = new Intent(context,AlarmReceiver.class); intent.putExtra(Constants.TEXT_MESSAGE,scheduledItem.getMessagetoSend()); intent.putExtra(Constants.PHONE_NUMBERS,scheduledItem.getPhoneNumbersToText()); PendingIntent sender = PendingIntent.getbroadcast(context,getRequestCodeFromKey(key),intent,PendingIntent.FLAG_UPDATE_CURRENT); // Get the AlarmManager service AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP,selectedDateTime.getTimeInMillis(),sender);
相同的代码在Android 6中运行良好.
有关Android 7需要进行哪些更改的任何想法?
谢谢
解决方法
我的解决方案是使用SharedPreferences来存储我的自定义对象.然后,当alarmmanager触发时,我运行以下命令将对象取出.
tl; dr,我使用GSON将我的自定义POJO作为字符串序列化/反序列化到SharedPrefs中.例如:
String json = getSharedPrefs(context).getString(NotificationUtility.NEXT_REMINDER_KEY,"No reminder found"); try { Gson gson = new Gson(); Reminder reminder = gson.fromJson(json,Reminder.class); if (reminder != null) { return reminder; } } catch (Exception error) { Log.i(TAG,"Error parsing json: " + error.getMessage(),error); return null; } return null;
希望这可以帮助你!
Android BroadcastReceiver无法接收任何广播事件
事件,但是,我根本无法收到任何事件:
这里是 AndroidManifest.xml:
<receiver android:enabled="true" android:label="SDCardMountReceiver" android:exported="true" android:name="xxx.broadcasts.SDCardbroadcastReceiver"> <intent-filter> <action android:name="android.content.Intent.ACTION_MEDIA_MOUNTED"></action> <!-- or <action android:name="android.content.Intent.ACTION_MEDIA_UNMOUNTED" />--></intent-filter> </receiver>
和SDCardMountReceiver类:
public class SDCardbroadcastReceiver extends broadcastReceiver { public SDCardbroadcastReceiver() { super(); System.err.println("constructor"); } public void onReceive(Context context,Intent intent) { Log.d("SDCardbroadCastReceiver","receive " + intent.getAction()); System.err.println("jonathan receive " + intent.getAction()); } }
解决方法
android – BroadcastReceiver SMS_Received无法在新设备上运行
在经历了几个资源和问题后,我仍然面临检测传入SMS消息的问题.
下面的代码显示了基础知识:
显示Toast onReceive的广播接收器类
public class IncomingSms extends broadcastReceiver {
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "something received", Toast.LENGTH_SHORT).show();
}
}
简单清单,注册接收者和权限
<application
<receiver
android:name=".IncomingSms"
android:permission="android.permission.broADCAST_SMS"
android:exported="true">
<intent-filter android:priority="2147483647" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
上面的代码声明并注册接收器,并具有适当的权限.此外,优先级设置为MAX_INT或2147483647.
我的设备是Nexus 6P,安装了默认的Messenger应用程序(我也尝试过环聊).该应用程序仍然不显示我的祝酒词.尝试使用较旧的三星设备后,正确打印了祝酒词.
优先问题
我在6P上安装了一个名为Manifest Viewer的应用程序,它允许我查看设备上安装的应用程序的manifest.xml.我检查了Messenger和Hangouts的清单,为SMS标签的接收者,并发现他们两个也指定优先级2147483647.似乎这两个信使应用程序最大优先级,并且一旦他们消费该消息,他们不允许其他应用程序进行干预.请注意,这些是Google应用程序的库存,而不是第三方.
在这一点上,我很困惑:
>他们为什么要这样做?
>如何绕过它?
非常感谢
解决方法:
好的,问题解决了.
问题不在于优先事项,而是我的手机是Nexus 6P(a.k.a.API 23).
仅在manifest.xml中提供权限是不够的,我不得不为运行时权限请求添加代码.见Android documentation for runtime permissions
将此代码添加到您的MainActiviy:
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.RECEIVE_SMS},
MY_PERMISSIONS_REQUEST_SMS_RECEIVE);
在MainActivity类的顶部定义它:
private int MY_PERMISSIONS_REQUEST_SMS_RECEIVE = 10;
并添加此覆盖:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == MY_PERMISSIONS_REQUEST_SMS_RECEIVE) {
// YES!!
Log.i("TAG", "MY_PERMISSIONS_REQUEST_SMS_RECEIVE --> YES");
}
}
关于mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于)Lorg/apache/spark/streaming/api/java/JavaPairReceiverInputDStream;、Android 7 BroadcastReceiver onReceive intent.getExtras缺少数据、Android BroadcastReceiver无法接收任何广播事件、android – BroadcastReceiver SMS_Received无法在新设备上运行等相关知识的信息别忘了在本站进行查找喔。
本文标签: