- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道我可以通过此 list 配置使用 USB 主机模式:
<activity
android:name="com.mypackage.MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</activity>
每次连接 USB 设备时,这都会启动我的 Activity 。问题是,如果它已经在前台运行,我不希望它重新打开。如果我的应用程序的任何其他 Activity 已经在前台运行,我也不希望它启动。如何做到这一点?
最佳答案
我终于找到了要走的路。我在 list 中添加了一个新接收器:
<receiver android:name=".content.UsbReceiver">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</receiver>
它以这种方式处理事件:
public class UsbReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (!CustomApplication.resumed) {
Context applicationContext = context.getApplicationContext();
Intent startIntent = new Intent(applicationContext, MyActivity.class);
startIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
applicationContext.startActivity(startIntent);
}
}
}
其中 resumed
是我的自定义 Application
类中的静态字段:
public class CustomApplication extends Application {
public static boolean resumed = false;
}
我在所有 Activity 的父类中设置此字段的值:
public abstract class AbstractActivity extends Activity {
@Override
protected void onResume() {
super.onResume();
CustomApplication.resumed = true;
}
@Override
protected void onPause() {
CustomApplication.resumed = false;
super.onPause();
}
}
通过这种方式,只有当我的所有 Activity 均不在前台时,我才真正启动 MyActivity。
关于java - USB主机: how to open my app only if it is not already in foreground?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42472538/
如何通过 XCTest 在 Swift UI 测试中触发以下行为: 让应用程序进入前台和非事件 (applicationWillResignActive) 并返回“前台和事件” (applicatio
我有一个列表框,其项目模板是一个列表框。我正在尝试将内部列表框的“前景”属性设置为与主列表框的相同。这是失败的。以下是代码片段。在这里 Foreground="{TemplateBinding For
我只想更改控制台应用程序的前景色文本,而不是背景文本颜色或控制台背景颜色。换句话说:我想保持以前的颜色,除了前景文本颜色。 目前我使用下面的代码,但文本下的背景也发生了变化。 #include #i
TextBlock 的 Foreground 的默认值是 SystemColors 之一吗?如果有,是哪一个? 最佳答案 这相当依赖于主题,如果应用主题没有覆盖,DP 系统将使用相应 Dependen
我正在构建一个类似于 Runtastic/Endomondo/Strava 的应用程序,它需要一个获取 GPS 位置的服务,直到用户明确停止它。 我运行了 Runtastic 和我的应用程序来尝试一下
无法在 InstantApp 功能模块中使用前台服务。低于运行时安全异常。 java.lang.RuntimeException: Unable to start activity Component
Android开发中如何设置按钮的android:foregrounddrawable为无边框?就像 android:background="?android:attr/selectableItemB
当应用程序在前台并收到通知时, Activity 上的 fragment 转换会顺利进行,没有任何问题。如果应用程序在后台运行,则应用程序会崩溃,因为在 Activity 进入前台之前会触发 frag
我的应用程序将创建通知以通知用户 当应用程序在后台运行 8 小时 我想要的只是创建通知(后台)的切换进程 到前台,我该怎么办? // PendingIntent pendingIntent =
看看这个小型 Android 应用程序: 主要 Activity .java: package io.github.gsaga.toucheventtest; import android.suppo
我在我的应用程序上使用 Nimbus LAF,我想更改所有按钮的前景色。我做这个设置: UIManager.put("Button.foreground", Color.WHITE); 但这行不通。也
单点触控 当应用程序返回前台时,我需要激活的 ViewController 来了解这一点。 是否有一个事件或覆盖我可以用来确定 View 被带到前台。 我确实找到了“WillEnterForegrou
我有以下按钮: 我想将路径的 Stroke 属性绑定(bind)到按钮的基础内容呈现器的 TextElement.Foreground 属性。这样一来,它始终与任何其他按钮中的任
我正在为我的 ios 应用程序使用解析推送(使用 xcode)。我想跟踪应用程序和推送。后台状态和非事件状态正常工作,但前台故障。当我在前台接收推送时,推送打开统计数据保持为 0。这就是我到目前为止所
如果设备操作系统是 Android 9(Pie),我已调用 Context.startForgroundService() 但有时它会抛出错误,例如“Context.startForgroundSer
如题所示,有没有办法把网格线放到前台(即在图形前面,符号后面)?我现在拥有的是: 我的代码如下(使用Swift 3): let gridLineStyle = CPTMutableLineSt
我知道我可以通过此 list 配置使用 USB 主机模式: 每次连接 USB 设备时,这都会启动我的 Activity 。问题是,如果它已经在前台运
我正在尝试在我的网站上实现 Comodo 信任 Logo 。这是一个图像,当您将鼠标悬停在它上面时,它会弹出一个 iframe,其中包含有关该站点的一些安全信息。执行此操作的代码来自第三方。 当 Lo
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭
每次我尝试运行 Pygame 程序时,我都会收到此错误: TypeError: Invalid foreground RGBA argument 这是我的代码,你知道为什么吗? text = font
我是一名优秀的程序员,十分优秀!