当前位置: 首页 > news >正文

网站打不开了中国空间站

网站打不开了,中国空间站,南京小程序开发哪家好,河南网站建设公司哪个好呀网上有直接引用support-v4包的#xff0c;但我用的AndroidX#xff0c;不能为这个类再引用support-v4 直接自己创建这个类#xff0c;把androidx.localbroadcastmanager.content.LocalBroadcastManager改改就行。 虽然奇葩但能解决问题 package android.support.v4.content…网上有直接引用support-v4包的但我用的AndroidX不能为这个类再引用support-v4 直接自己创建这个类把androidx.localbroadcastmanager.content.LocalBroadcastManager改改就行。 虽然奇葩但能解决问题 package android.support.v4.content;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.Uri; import android.os.Handler; import android.os.Message; import android.util.Log;import androidx.annotation.NonNull;import java.util.ArrayList; import java.util.HashMap; import java.util.Set;/*** Helper to register for and send broadcasts of Intents to local objects* within your process. This has a number of advantages over sending* global broadcasts with {link android.content.Context#sendBroadcast}:* ul* li You know that the data you are broadcasting wont leave your app, so* dont need to worry about leaking private data.* li It is not possible for other applications to send these broadcasts to* your app, so you dont need to worry about having security holes they can* exploit.* li It is more efficient than sending a global broadcast through the* system.* /ul*/ public final class LocalBroadcastManager {private static final class ReceiverRecord {final IntentFilter filter;final BroadcastReceiver receiver;boolean broadcasting;boolean dead;ReceiverRecord(IntentFilter _filter, BroadcastReceiver _receiver) {filter _filter;receiver _receiver;}Overridepublic String toString() {StringBuilder builder new StringBuilder(128);builder.append(Receiver{);builder.append(receiver);builder.append( filter);builder.append(filter);if (dead) {builder.append( DEAD);}builder.append(});return builder.toString();}}private static final class BroadcastRecord {final Intent intent;final ArrayListReceiverRecord receivers;BroadcastRecord(Intent _intent, ArrayListReceiverRecord _receivers) {intent _intent;receivers _receivers;}}private static final String TAG LocalBroadcastManager;private static final boolean DEBUG false;private final Context mAppContext;private final HashMapBroadcastReceiver, ArrayListReceiverRecord mReceivers new HashMap();private final HashMapString, ArrayListReceiverRecord mActions new HashMap();private final ArrayListBroadcastRecord mPendingBroadcasts new ArrayList();static final int MSG_EXEC_PENDING_BROADCASTS 1;private final Handler mHandler;private static final Object mLock new Object();private static android.support.v4.content.LocalBroadcastManager mInstance;NonNullpublic static android.support.v4.content.LocalBroadcastManager getInstance(NonNull Context context) {synchronized (mLock) {if (mInstance null) {mInstance new android.support.v4.content.LocalBroadcastManager(context.getApplicationContext());}return mInstance;}}private LocalBroadcastManager(Context context) {mAppContext context;mHandler new Handler(context.getMainLooper()) {Overridepublic void handleMessage(Message msg) {switch (msg.what) {case MSG_EXEC_PENDING_BROADCASTS:executePendingBroadcasts();break;default:super.handleMessage(msg);}}};}/*** Register a receive for any local broadcasts that match the given IntentFilter.** param receiver The BroadcastReceiver to handle the broadcast.* param filter Selects the Intent broadcasts to be received.** see #unregisterReceiver*/public void registerReceiver(NonNull BroadcastReceiver receiver,NonNull IntentFilter filter) {synchronized (mReceivers) {ReceiverRecord entry new ReceiverRecord(filter, receiver);ArrayListReceiverRecord filters mReceivers.get(receiver);if (filters null) {filters new ArrayList(1);mReceivers.put(receiver, filters);}filters.add(entry);for (int i0; ifilter.countActions(); i) {String action filter.getAction(i);ArrayListReceiverRecord entries mActions.get(action);if (entries null) {entries new ArrayListReceiverRecord(1);mActions.put(action, entries);}entries.add(entry);}}}/*** Unregister a previously registered BroadcastReceiver. emAll/em* filters that have been registered for this BroadcastReceiver will be* removed.** param receiver The BroadcastReceiver to unregister.** see #registerReceiver*/public void unregisterReceiver(NonNull BroadcastReceiver receiver) {synchronized (mReceivers) {final ArrayListReceiverRecord filters mReceivers.remove(receiver);if (filters null) {return;}for (int ifilters.size()-1; i0; i--) {final ReceiverRecord filter filters.get(i);filter.dead true;for (int j0; jfilter.filter.countActions(); j) {final String action filter.filter.getAction(j);final ArrayListReceiverRecord receivers mActions.get(action);if (receivers ! null) {for (int kreceivers.size()-1; k0; k--) {final ReceiverRecord rec receivers.get(k);if (rec.receiver receiver) {rec.dead true;receivers.remove(k);}}if (receivers.size() 0) {mActions.remove(action);}}}}}}/*** Broadcast the given intent to all interested BroadcastReceivers. This* call is asynchronous; it returns immediately, and you will continue* executing while the receivers are run.** param intent The Intent to broadcast; all receivers matching this* Intent will receive the broadcast.** see #registerReceiver** return Returns true if the intent has been scheduled for delivery to one or more* broadcast receivers. (Note tha delivery may not ultimately take place if one of those* receivers is unregistered before it is dispatched.)*/public boolean sendBroadcast(NonNull Intent intent) {synchronized (mReceivers) {final String action intent.getAction();final String type intent.resolveTypeIfNeeded(mAppContext.getContentResolver());final Uri data intent.getData();final String scheme intent.getScheme();final SetString categories intent.getCategories();final boolean debug DEBUG ||((intent.getFlags() Intent.FLAG_DEBUG_LOG_RESOLUTION) ! 0);if (debug) Log.v(TAG, Resolving type type scheme scheme of intent intent);ArrayListReceiverRecord entries mActions.get(intent.getAction());if (entries ! null) {if (debug) Log.v(TAG, Action list: entries);ArrayListReceiverRecord receivers null;for (int i0; ientries.size(); i) {ReceiverRecord receiver entries.get(i);if (debug) Log.v(TAG, Matching against filter receiver.filter);if (receiver.broadcasting) {if (debug) {Log.v(TAG, Filters target already added);}continue;}int match receiver.filter.match(action, type, scheme, data,categories, LocalBroadcastManager);if (match 0) {if (debug) Log.v(TAG, Filter matched! match0x Integer.toHexString(match));if (receivers null) {receivers new ArrayListReceiverRecord();}receivers.add(receiver);receiver.broadcasting true;} else {if (debug) {String reason;switch (match) {case IntentFilter.NO_MATCH_ACTION: reason action; break;case IntentFilter.NO_MATCH_CATEGORY: reason category; break;case IntentFilter.NO_MATCH_DATA: reason data; break;case IntentFilter.NO_MATCH_TYPE: reason type; break;default: reason unknown reason; break;}Log.v(TAG, Filter did not match: reason);}}}if (receivers ! null) {for (int i0; ireceivers.size(); i) {receivers.get(i).broadcasting false;}mPendingBroadcasts.add(new BroadcastRecord(intent, receivers));if (!mHandler.hasMessages(MSG_EXEC_PENDING_BROADCASTS)) {mHandler.sendEmptyMessage(MSG_EXEC_PENDING_BROADCASTS);}return true;}}}return false;}/*** Like {link #sendBroadcast(Intent)}, but if there are any receivers for* the Intent this function will block and immediately dispatch them before* returning.*/public void sendBroadcastSync(NonNull Intent intent) {if (sendBroadcast(intent)) {executePendingBroadcasts();}}SuppressWarnings(WeakerAccess) /* synthetic access */void executePendingBroadcasts() {while (true) {final BroadcastRecord[] brs;synchronized (mReceivers) {final int N mPendingBroadcasts.size();if (N 0) {return;}brs new BroadcastRecord[N];mPendingBroadcasts.toArray(brs);mPendingBroadcasts.clear();}for (int i0; ibrs.length; i) {final BroadcastRecord br brs[i];final int nbr br.receivers.size();for (int j0; jnbr; j) {final ReceiverRecord rec br.receivers.get(j);if (!rec.dead) {rec.receiver.onReceive(mAppContext, br.intent);}}}}} }
http://www.w-s-a.com/news/307044/

相关文章:

  • c 做网站开发实例wordpress 加上index
  • 济南seo网站推广搜索广告推广
  • 有关于网站建设的参考文献宁波seo网络推广公司
  • 网站设配色个人主页介绍文案
  • 网站seo相关设置优化网站建设的好处
  • 上海市建设工程安全生产协会网站郴州网站设计公司
  • 网站大型网页游戏自己搭建服务器做视频网站
  • 建立网站企业wordpress用户名密码破解
  • 网站管理助手建站教程国外网站做acm题目比较好
  • 网站开发框架排行专业网页制作服务商
  • 企业网站建设入账政务网站建设信息
  • 网络平台建设是什么江门排名优化怎么做
  • 响应式旅游网站模板下载网址做
  • 个人做网站名称可以随意更改吗惠州网站推广排名
  • 自己建设一个网站步骤网站认证怎么认证
  • 深圳建站公司开发费用沧州手机建站哪家好
  • 兰州网站设计公司排名百度怎么发布短视频
  • 大连模板开发建站泰州网站建设策划方案
  • 厦门好的网站设计局域网内建网站
  • 关键词那种网站正版网页游戏平台排行榜
  • 网站自助建设平台创建网址快捷方式
  • 坑梓网站建设包括哪些成都网站建设优创
  • 重庆网站seo公司哪家好超级优化大师
  • 成都网站建设推广详情邵阳市住房和城乡建设局网站
  • 淄博网站推广猎头公司有哪些
  • 局域网内建立网站90设计网怎么样
  • 域名备案和网站备案有什么不同工程项目建设网站
  • 做网站难吗?wordpress评论qq
  • 权威网站优化价格电子商务静态网站建设实验报告
  • 公司如何办网站北京网站建设公司内江