gpt4 book ai didi

java - 检测 Android 设备震动事件的良好架构?

转载 作者:行者123 更新时间:2023-12-01 14:33:40 24 4
gpt4 key购买 nike

我需要启动一个Activity,以防我的 Android 应用程序中发生设备震动。

此功能应该适用于我的整个应用和所有 Activity 。

现在确定如何为其提供一个好的架构,因为检测震动和启动 Activity 需要上下文实例。

我不想在每次更改 activity 时将当前的 Activity 实例传递给我的 ShakeListener

你有什么建议?

谢谢。

最佳答案

肯定必须保留一些监视传感器数据的东西,例如 background Service 。您的服务必须持续monitor sensor events ,将其通过噪声滤波器,检测震动并 send out a Broadcast .

另一方面,该 Activity 可以实现匹配的 BroadcastReciever .

如果您不想为 Activity 添加 BroadcastRecievers,那么您可以在库的 init() 代码中注册感兴趣的 Activity:

public void init(Context context){ 
SensorTester st = new SensorTester(context);

st.registerActivity(MainActivity.class);
st.registerActivity(OtherActivity.class);
}

并使用您在 init() 代码中收到的上下文从库服务启动它们:

for(Class c : registeredClasses){
context.startActivity(new Intent(this,c));
}

您可以选择在目标应用程序中放置 init() 代码的位置。

关于java - 检测 Android 设备震动事件的良好架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16669876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com