- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 onReceive 函数:
@Override
public void onReceive(Context context, Intent intent) {
ArrayList<DetectedActivity> updatedActivities =
intent.getParcelableArrayListExtra(Constants.ACTIVITY_EXTRA);
int type = 0x0;
Integer confidence = 0;
Collections.sort(updatedActivities, new Comparator<DetectedActivity>() {
@Override
public int compare(DetectedActivity lhs, DetectedActivity rhs) {
if(lhs.getConfidence() > rhs.getConfidence()){
return -1;
}else if(lhs.getConfidence() > rhs.getConfidence()){
return 1;
}
return 0;
}
});
String rawData = "(";
for (DetectedActivity detectedActivity : updatedActivities){
if(detectedActivity.getConfidence() >= 25){
if(type==PSMotionService.unknown || type==PSMotionService.stationary) {
rawData += detectedActivity.getType() + ":" + detectedActivity.getConfidence() + ",";
Log.i("", "autopilot type detected activity: " + detectedActivity);
if (confidence < detectedActivity.getConfidence()) {
confidence = detectedActivity.getConfidence();
}
if (detectedActivity.getType() == DetectedActivity.STILL) {
type |= PSMotionService.stationary;
} else if (detectedActivity.getType() == DetectedActivity.IN_VEHICLE) {
type |= PSMotionService.automotive;
} else if (detectedActivity.getType() == DetectedActivity.ON_BICYCLE) {
type |= PSMotionService.bicycling;
} else if (detectedActivity.getType() == DetectedActivity.ON_FOOT || detectedActivity.getType() == DetectedActivity.WALKING) {
type |= PSMotionService.walking;
} else if (detectedActivity.getType() == DetectedActivity.RUNNING) {
type |= PSMotionService.running;
} else if (detectedActivity.getType() == DetectedActivity.UNKNOWN) {
type |= PSMotionService.unknown;
}
}
}
}
rawData += ")";
Long timestamp = System.currentTimeMillis()/1000;
Integer confidenceFlag = 0;
if(confidence >= 25 && confidence < 75){
confidenceFlag = 1;
}else if(confidence >=75){
confidenceFlag = 2;
}
Log.i("", "autopilot type is:" + type + "... timestamp: " + timestamp + "....confidence" + confidence + "...confidenceFlag:" + confidenceFlag);
Log.i("", "autopilot-----------------------------------------------END");
Motion activity = new Motion(timestamp, type, confidenceFlag);
Utils.appendLog("NEW MOTION: [" + activity.getTimestamp() + ", " + activity.getType() + ", " + activity.getConfidence() + "]" + rawData, "D", Constants.TRACKER);
if(PSTrip.getActiveTrip() != null){
PSMotionService.getInstance(context).motionsTrip.add(activity);
Log.i("", "autopilot added to trip: size is:" + PSMotionService.getInstance(context).motionsTrip.size());
if(PSApplicationClass.getInstance().pref.getGeoEnabled(context)) {
appendMotionActivity(context, type, activity);
}
}else{
Log.i("", "autopilot test to add to buffer");
appendMotionActivity(context, type, activity);
}
Log.i("", "autopilot-----------------------------------------------END AAAAALLLLLLL");
}
我会像这样从 Intent 中提取 DetectedActivity 列表:
ArrayList<DetectedActivity> updatedActivities =
intent.getParcelableArrayListExtra(Constants.ACTIVITY_EXTRA);
但现在我遇到了这个问题:
/Users/alinrosu/Workspace/passenger-android/passenger/src/main/java/nl/hgrams/passenger/listeners/ActivityDetectionBroadcastReceiver.java
Error:(31, 51) error: incompatible types: inferred type does not conform to upper bound(s)
inferred: DetectedActivity
upper bound(s): Parcelable
Error:Execution failed for task ':passenger:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
如何在不出现此问题的情况下提取 DetectedActivity 列表?
最佳答案
问题是您正在使用 Java 8 的语言级别设置,这加强了对自动转换的一些限制,而这些限制在 Java 7 及更低版本中是可以的。参见 Why does this Java 8 program not compile?了解更多详情。
我没有什么东西可以用来测试它,所以我不能确定这是否有效,但你可以先尝试转换它:
ArrayList<DetectedActivity> updatedActivities =
(ArrayList<DetectedActivity>)intent.getParcelableArrayListExtra(Constants.ACTIVITY_EXTRA);
如果这不起作用,请这样做:
ArrayList<Parcelable> updatedActivities = intent.getParcelableArrayListExtra(Constants.ACTIVITY_EXTRA);
现在,当您使用数组时,您需要强制转换每个元素,如下所示:
for (Parcelable p : updatedActivities) {
// cast to correct type
DetectedActivity detectedActivity = (DetectedActivity)p;
// do whatever with "detectedActivity"...
}
关于android - 更新到 GooglePlayServices 26.0.2 后,ActivityDetectionBroadcastReceiver 无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283480/
我在这里四处寻找解决尝试使用 GCM 时的“NoClassDefFoundError”异常的方法,结果通常告诉我我错误地添加了 google-play-services_lib。 我从"file"->
我正在尝试使用 google play 服务创建一个位置感知的 android 应用程序,因为这似乎是执行此操作的新推荐方式。我已经使用我在 android 开发者网站上找到的教程来设置我的项目。它看
我正在尝试在我的 xamarin 表单应用程序上使用谷歌地图。我安装了 Google.forms.maps。通过该安装,我得到了以下软件包: 一旦我开始运行应用程序,这些 dl
我一直在尝试将googlePlayService库添加到我的Libgdx Game项目中,我遵循以下两个页面: http://www.badlogicgames.com/forum/viewtopic
我开发了一个使用 GoogleMap 的应用程序。我刚刚在 Eclipse 中更新了 Android 插件(使用 Android L 库),并重新导入了 GooglePlayService 库等。 因
问题 我有一个使用 Unity 制作的 Android 游戏的 alpha 版本。此游戏已与 Google Play 服务集成,这是使用 Play Games Plugin for Unity 完成的
我在解决这个问题大约 10 小时,我不知道我做错了什么.... 致命异常: E/AndroidRuntime: FATAL EXCEPTION: main Process: onl.deepsp
我正在尝试在我的 Android 应用程序中使用 Google 云端硬盘。现在我只想显示谷歌驱动器上的文件名。我使用本教程 https://developers.google.com/drive/qu
我正在尝试运行 GooglePlayServices 示例,但在 Auth 示例中,按下“问候我”按钮时出现以下错误: com.google.android.gms.auth.GoogleAuthEx
所以我正在尝试安装这个 package进入我的解决方案,我遇到了一个奇怪的错误,我似乎无法修复或找到解决方案。 Install failed. Rolling back... Install-Pack
在我使用 firebase、firebase-ui、谷歌地图等的应用程序中,它运行完美。 我想更新到每个库的最新版本并安装 Firebase Performance。 我得到的错误是: error:
我知道这个问题已经被问过很多次了,但我仍然无法解决这个问题。我尝试通过 xml 资源向我的应用程序添加横幅广告,但是当我从 xml View 切换到图形布局或清理我的项目时,我收到以下消息:“com.
使用旧的 Android 位置管理器,您可以使用以下方法检测是否为 GPS(以及类似的网络位置)启用了位置: LocationManager x = (LocationManager) getSyst
自从我添加了 Xamarin.GooglePlayServices.Maps 后,构建就遇到了问题。其他人最近有问题吗?相同的代码集适用于 macOS,但不适用于 Windows。 :/ Severi
所以我有一个跨平台项目(IOS和Android),我需要安装GooglePlayServices.Base NuGet我的 Android 项目的包,但在尝试时出现此错误: Package resto
考虑到我在 Xamarin.Android 项目中有一个 AdView: private AdView _bannerAd; 我通常这样初始化它: _bannerAd = new AdView(thi
我对新的 admob 有疑问。 这是我的代码,试图在我的主要 Activity 中创建和加载广告: private void createAndLoadAd(String adUnitID, Rela
我正在尝试使用 Google Play 服务库的某些功能,但我无法使其工作。我已将对 google play 服务库的引用添加到 list 文件(来自 Flash Builder)
这是我的 onReceive 函数: @Override public void onReceive(Context context, Intent intent) { ArrayLi
我知道有很多教程......,但是对于Eclipse(我不知道为什么谷歌不能为他们自己的工具提供教程)...... 让我们从头开始,我想为我的游戏添加计分板和成就。我正在使用 Android Stud
我是一名优秀的程序员,十分优秀!