我一周以来一直在讨论这个问题.一直在搜索有关此问题的类似主题,但仍然无法解决我的问题.
Prolem是当我试图在Polar m600磨损或磨损模拟器(Android V 7.1.1和API25)上运行我的程序时,他们给我这条消息"Google Play服务已过时.需要11011000但找到了10289574" .
我在android开发者网站上关注了"获取最后一个已知位置"部分.(网站链接https://developer.android.com/training/location/retrieve-current.html#play-services)
这是我正在使用的Mainactivity代码
public class MainActivity extends Activity {
private FusedLocationProviderClient mFusedLocationClient;
public Location mLastLocation;
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(WatchViewStub stub) {
mTextView = (TextView) stub.findViewById(R.id.text);
}
});
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
return;
}
mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location …
Run Code Online (Sandbox Code Playgroud) 我试图通过Google Play开发者控制台提交我新创建的Android Wear表盘.问题是已禁用定价和分发部分中的"在Android Wear上分发您的应用"复选框.我不明白为什么.
我做了什么:
1)Android Wear的上传截图
2)在封闭的Beta版本中上传了2个APK文件.两个文件都使用一个密钥签名,具有不同的版本名称.首先是手机apk with embedded wear apk(minSdkVersion 23),second - standalone wear apk(minSdkVersion 25)有meta-data android:name ="com.google.android.wearable.standalone"android:value ="true"in manifest文件.
Everythings似乎很好,应用程序已准备好在生产中发布,除了"在Android Wear上分发您的应用程序"复选框,该复选框仍然处于禁用状态.我错过了什么?
我正在创建一个 Wear OS 应用程序,并为用户提供设置计时器的选项。除了语音命令,我还想提供手动设置持续时间的选项。
我可以调整时间选择器对话框以适应屏幕,但据我所知,没有本地磨损特定组件或对话框可以选择持续时间。
Wear OS 2.0有一个很好的方法可以从内置的计时器应用程序中选择持续时间,但我没有找到有关用于创建它的组件以及它们是否可用的任何信息。
我真的只是在寻找一种用户友好的方式来设置持续时间。任何帮助或指导将不胜感激!我对 Android 开发很陌生。
我知道在佩戴时显示对话框的推荐方法是使用 AlertDialog (https://developer.android.com/training/wearables/ui/),但默认情况下 AlertDialog 在圆形屏幕上看起来不太好。我知道我必须提供自定义布局(请参阅显示 Android Wear 样式 AlertDialog),但是我必须使用自定义颜色和图像(即可绘制/ic_tick)。
是否有适用于 Wear 的默认对话框布局,或者可能有更好的方法在 Wear OS 上使用 AlertDialog?
My Wear项目(WatchFace)无法使用Android Wear 2.0.4运行,它使用Android Wear 2.0.3构建并成功运行.
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/aidl/BaseStub;
at com.debiana.getoffmylawn.LawnWatchService.onCreateEngine(LawnWatchService.java:69)
at com.debiana.getoffmylawn.LawnWatchService.onCreateEngine(LawnWatchService.java:52)
at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1163)
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:37)
Run Code Online (Sandbox Code Playgroud)
我的app build.gradle中的依赖项很简单:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(include: ['*.jar'], dir: 'libs')
provided 'com.google.android.wearable:wearable:2.0.4'
compile 'com.google.android.support:wearable:2.0.4'
compile 'com.google.android.gms:play-services-wearable:11.0.4'
}
Run Code Online (Sandbox Code Playgroud)
所有改变的都是2.0.3已经变成了2.0.4
我有一个WearableListenerService
手机应用程序DataItem
从手表接收(在onDataChanged
).代码与文档中的代码基本相同(如果有用,我可以把它放在这里).
当一个新DataItem
收到,我展示给手机上的用户的通知.
它适用于Android 5,无论应用程序是运行还是被杀死.如果应用程序正在运行/在内存中,它也可以在Android O API 26上运行,但如果我先杀掉应用程序(通过滑动),WearableListenerService
它也不会运行:那么它不会运行.
我知道Android 8上的后台执行限制,但我不知道如何在这种情况下处理它们,因为它的Android应该在我的应用程序处于后台时启动服务,以便我可以对数据层更改做出反应.
在应用程序处于后台时,有没有办法在Android 8上侦听数据层事件?
仔细按照本文中的说明操作后:
如何检测android磨损设备何时断开连接?我终于设法让手机检测可穿戴设备的连接时间onCapabilityChanged
.
我在可穿戴方面遵循了完全相同的步骤,我试图检测手机何时连接到可穿戴设备但从onCapabilityChanged
未被触发.
wear.xml(在电话上)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="android_wear_capabilities">
<item>track_phone</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest(可穿戴)
<service android:name=".BackgroundService.WearableService"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="com.google.android.gms.wearable.CAPABILITY_CHANGED" />
<data android:scheme="wear" android:host="*"/>
</intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)
在WearableService中(在可穿戴设备上)
override fun onCapabilityChanged(p0: CapabilityInfo?) {
super.onCapabilityChanged(p0)
Log.i("WearableService", "Capability changed: {${p0?.nodes?.size ?: "null"}")
}
Run Code Online (Sandbox Code Playgroud)
我确信该服务已启动,因为我有另一个进程从它运行
我在电话那边做同样的事情.当我解除连接/连接时onCapabilityChanged
,在手机的服务中正确调用蓝牙,而不是在可穿戴设备上.
有任何想法吗?
当数字发送短信时,我的应用程序应该产生振动。振动应一直持续到用户触摸按钮为止。在测试应用程序时,我正在从不同的设备发送多条短信,包括一条带有选中数字的短信。我总是设法发送文本,这只会停止振动,尽管记录显示振动应该已经开始,但是并没有继续。它可能会在2条消息或40条消息之后随机发生。
我当时在想,设备通知的振动可能会以某种方式干扰我的振动,同时访问该振动Vibrator
。
或因为这是我使用android做的第一件事,所以我做错了。
这是我的AlarmActivity.java
类,它处理振动MainActivity
,当收到新消息时,总是从via Intent 调用它:
public class AlarmActivity extends WearableActivity {
static boolean active = false;
static boolean isVibrating = false;
private Vibrator vibrator;
final long[] mVibratePattern = new long[]{0, 400, 800, 600, 800, 800, 800, 1000};
final int[] mAmplitudes = new int[]{0, 255, 0, 255, 0, 255, 0, 255};
private PowerManager.WakeLock wakeLock;
@Override
public void onResume() {
super.onResume();
active = true;
}
@Override
public void onStart() {
super.onStart();
active = true;
PowerManager …
Run Code Online (Sandbox Code Playgroud) 我试图在我的应用程序中创建一个类似于默认Wear OS的菜单:
现在不建议使用其他各种方法,但不幸的是,Android文档https://developer.android.com/training/wearables/ui/lists似乎很不完整。
我找不到任何可以遵循的好示例,因此有人可以穿戴这样的WearableRecyclerView示例来设置菜单项和图标并捕获单击事件吗?
谢谢
我为 Wear OS 创建了一个独立的智能手表应用程序。我使用华为Watch 2 4G进行测试。我现在希望将其放入 Google Play 商店的测试版中,以便用户可以对其进行测试。我已经创建了一些智能手机应用程序并将它们放入 Play 商店,所以我已经习惯了这个过程。到目前为止我做了什么:
现在我不知道如何从 Play 商店安装该应用程序。在智能手机上,我只需在浏览器中打开 URL,然后就可以从那里安装它。到目前为止我尝试过的:
如何安装 Google Play 商店公开测试版中的独立 Wear OS 应用程序?
android-wear-2.0 ×10
android ×9
wear-os ×8
beta-testing ×1
google-play ×1
java ×1
watchface ×1