草庐IT

android - 如何检测Android手机中的SIM卡变化?

现在项目中的情况非常令人沮丧。我一度陷入困境。我想做一个简单的任务如下当有人更换SIM卡时,检测此事件并检查新SIM卡是否与以前的SIM卡不同,并采取相应措施。我不想通过计时器或其他方式定期检查SIM_STATE..android是否通知SIM卡的状态变化?如果是,请告诉我我可以检测到SIM卡更换吗?我以前也问过这个问题,但没有得到可靠的答案。它似乎是一个非常重要的API,却没有人关心它。如果你有请给我一些代码fragment...我被困在这里,在android电话服务文档中我什么都不懂...如果有人可以为上述内容提供一些代码,那将非常有帮助。 最佳答案

android - 几个小时未使用应用程序后 fragment 消失

我正在使用SlidingMenu打开左右菜单。一切正常,除了在应用程序至少几个(~6)小时未使用后我找不到保留fragment状态的方法。这就是我在其中一个菜单中设置fragment的方式:if(savedInstanceState!=null)mContent=getSupportFragmentManager().getFragment(savedInstanceState,"mContent");if(mContent==null)mContent=newSomeFragment();setContentView(R.layout.content_frame);getSuppor

java - 尝试在空对象引用上调用虚拟方法 'android.os.Looper android.content.Context.getMainLooper()'

这个问题在这里已经有了答案:WhatisaNullPointerException,andhowdoIfixit?(12个答案)关闭5年前。每当我尝试在我的手机或模拟器上打开该应用程序时,我的Logcat中都会出现此错误。为了让您大致了解我目前正在做的项目,它是一个记录连接到手机接入点的设备数据的系统,可以通过屏幕上的按钮打开和关闭。我想归功于:Android2.3wifihotspotAPI和https://www.whitebyte.info/android/android-wifi-hotspot-manager-classLogcat文件的图像是:https://i.gyazo

android - SCROLL_STATE_IDLE 上的 NumberPicker.getValue(),可能不是最后更新的值

当用户在NumberPicker上完成滚动选择时,我使用以下函数来检测最后一个最终值。然后getValue()会更新最新的值。numberPicker.setOnScrollListener(newNumberPicker.OnScrollListener(){@OverridepublicvoidonScrollStateChange(NumberPickernumberPicker,intscrollState){if(scrollState==NumberPicker.OnScrollListener.SCROLL_STATE_IDLE){intvalue=numberPicke

安卓 : Application's state when application is out of stack due to Memory constrain

请帮我解决这个问题。1>IamhavingapplicationwhichUsesServicetoretrievedatafromserver.2>NowonPressingHomekeyandihaveopenednewapplication..3>Ihaveopenedaround20application.4>Somyapplicationmightgooutofmemorystack.5>nowiamresumingmyapplication,applicationcrashesasiamopeningactivityofmyapplicationwhichisnotinth

Android:转到 "background"时保存应用程序状态

我有一个复杂的Android应用程序,其中有大量应用程序状态需要保留(以特定格式)。写出数据不是瞬时操作,因此最好尽量减少不必要的持久化。由于持久性开销,每次更改时都持久化状态是不切实际的。理想情况下,当用户点击“主页”按钮或点击应用程序根Activity上的“后退”按钮(或来电等)使应用程序“后台运行”时,将触发持久状态。这最大限度地减少了持久性开销,同时从用户的角度维护了状态的一致性。问题是您如何检测应用程序是否处于“后台”状态?Activity生命周期调用(onStart、onResume、onPause和friend)没有帮助,因为该应用程序有许多不同的Activity,当用户

android - 自定义持久 Bottom Sheet STATE_EXPANDED 高度或偏移量

如标题所说,当官方bottomSheet(支持库23.x.x)处于STATE_EXPANDED状态时,是否可以自定义其大小/高度/偏移?有一个类BottomSheetBehavior但我找不到任何关于高度或偏移量的信息。我想要的是获得类似Googlemap的行为: 最佳答案 在深入研究Android代码并进行搜索后,我得到了它:您可以修改默认值BottomSheetBehavior通过以下步骤再添加一项统计数据:创建一个Java类并从CoordinatorLayout.Behavior扩展它从默认值复制粘贴代码BottomSheet

android - 未观察到对设置 LiveData 的多次调用

我最近看到一个奇怪的问题阻碍了我的项目。设置实时数据值的多次调用不会在View中调用观察者。似乎只有最后设置的值才真正调用View中的观察者。这是评论的代码fragment。主Activity.ktclassMainActivity:AppCompatActivity(){privatelateinitvarviewModel:MainViewModeloverridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_mai

android - 如何在 StateListDrawable 中为 drawable 设置 alpha 值?

我想在按下时更改可绘制对象的alpha值。因此,我创建了两个可绘制对象并将它们放在一个StateListDrawable中,并为按下状态设置了alpha值。但它就是行不通。StateListDrawablecontent=newStateListDrawable();DrawablecontentSelected=this.getResources().getDrawable(R.drawable.content_background);contentSelected.mutate().setAlpha(100);DrawablecontentNormal=this.getResour

Android,应用程序在锁屏启动后重新启动

我整天都在研究这些状态,试图弄清楚为什么当我按下电源按钮调出锁定屏幕时,我的应用程序失去了焦点并调用了onStop()(它应该调用)但随后它又调用了在屏幕关闭之前再次调用onStart()。这给我带来了一个问题,因为我的应用程序中的某些声音(可能还有其他东西)在锁屏处于Activity状态时再次开始播放。当锁屏处于Activity状态时,我如何确保它在后台正常运行并停止? 最佳答案 我不久前遇到了这个确切的问题。在AndroidManifest.xml中,确保你有这个:android:configChanges="keyboardH