- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经为Android Wear创建了表盘,我的代码如下:
ComapnionConfigActivity(在移动模块中):
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.wearable.Wearable;
public class CompanionConfigActivity extends ActionBarActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_companion_config);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Wearable.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
@Override
protected void onStop() {
mGoogleApiClient.disconnect();
super.onStop();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_watch_config, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onConnected(Bundle bundle) {
}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}
}
移动模块 list :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.agile.mywatchface" >
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/square"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".CompanionConfigActivity"
android:label="@string/title_activity_watch_config" >
<intent-filter>
<action android:name="com.example.agile.mywatchface.MAIN" />
<category android:name= "com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
MyWatchfaceService:(磨损模块中用于绘制表盘的服务)
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.support.wearable.watchface.CanvasWatchFaceService;
import android.view.SurfaceHolder;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
/**
*
* Created by agile on 3/5/2015.
*/
public class MyWatchfaceService extends CanvasWatchFaceService{
Calendar c;
int hrs,min,sec,width,height;
Timer timer;
TimerTask timerTask;
Paint paint;
@Override
public Engine onCreateEngine() {
return new MyEngine();
}
class MyEngine extends CanvasWatchFaceService.Engine {
@Override
public void onCreate(SurfaceHolder holder) {
super.onCreate(holder);
timer = new Timer();
timerTask = new MyTimerTask();
c = Calendar.getInstance();
paint = new Paint();
paint.setColor(Color.BLUE);
paint.setTextSize(18);
}
@Override
public void onPropertiesChanged(Bundle properties) {
super.onPropertiesChanged(properties);
}
@Override
public void onTimeTick() {
super.onTimeTick();
}
@Override
public void onDraw(Canvas canvas, Rect bounds) {
updateTimeOnEachSecond();
width = bounds.width();
height = bounds.height();
canvas.drawText(String.valueOf(hrs)+":"+String.valueOf(min)+":"+String.valueOf(sec),width/2,height/2,paint);
}
@Override
public void onVisibilityChanged(boolean visible) {
super.onVisibilityChanged(visible);
}
}
public void updateTimeOnEachSecond() {
timer.scheduleAtFixedRate(timerTask, 0, 1000);
}
class MyTimerTask extends TimerTask {
public void run(){
hrs = c.get(Calendar.HOUR_OF_DAY);
min = c.get(Calendar.MINUTE);
sec = c.get(Calendar.SECOND);
}
}
}
磨损模块 list :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.agile.mywatchface" >
<uses-feature android:name="android.hardware.type.watch" />
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/square"
android:label="@string/app_name"
>
<service
android:name=".MyWatchfaceService"
android:label="@string/app_name"
android:permission="android.permission.BIND_WALLPAPER"
android:allowEmbedded="true"
>
<!-- companion configuration activity -->
<meta-data
android:name="android.service.wallpaper"
android:resource="@xml/watch_face" />
<meta-data
android:name="com.example.agile.mywatchface.preview"
android:resource="@drawable/square" />
<meta-data
android:name="com.example.agile.mywatchface.preview_circular"
android:resource="@drawable/square" />
<meta-data
android:name="com.google.android.wearable.watchface.companionConfigurationAction"
android:value="com.example.agile.mywatchface.MAIN" />
<!-- wearable configuration activity -->
<meta-data
android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
android:value="com.example.agile.mywatchface.MAIN" />
<intent-filter>
<action android:name="android.service.wallpaper.WallpaperService" />
<category android:name="com.example.agile.mywatchface.category.WATCH_FACE" />
</intent-filter>
</service>
<activity
android:name=".WearConfigActivity"
android:label="@string/title_activity_wear_config"
android:allowEmbedded="true">
<intent-filter>
<action android:name="com.example.agile.mywatchface.CONFIG_DIGITAL" />
<category android:name=
"com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
android:value="com.example.agile.mywatchface.MAIN" />
</activity>
</application>
</manifest>
我已按照官方指南创建表盘。但是,当我安装该应用程序时,它没有显示在配套应用程序中。问题似乎出在 list 或同伴配置 Activity 中。我试了一天多了,还是无法识别。谁能帮帮我吗?
最佳答案
在您的可穿戴 list 中,您有以下行:
<category android:name="com.example.agile.mywatchface.category.WATCH_FACE" />
这是不正确的,您需要使用
<category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
Android Wear 在过滤器中查找具有此类别的服务,如果您使用自定义类别,它将忽略您的服务。
关于java - WatchFaces 未配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914405/
我已经为Android Wear创建了表盘,我的代码如下: ComapnionConfigActivity(在移动模块中): import android.support.v7.app.ActionB
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 6 年前。 Improve this ques
我在 Cloudpebble 上创建了一个 C-Watchface(效果很好)。我正在重构它以使代码更清晰。 但是我在安装后收到此错误: [FEHLER] ault_handling.c:78: Ap
我正在查看此处找到的 Pebble C 表盘教程 https://developer.getpebble.com/tutorials/watchface-tutorial/part1 有问题的部分代码
http://developer.getpebble.com/getting-started/watchface-tutorial/part1/在 C 中。有没有办法在 JS 中做同样的事情? 最佳答
我想稍微了解一下 Android Wear 表盘。我遇到了一个问题:当尝试选择不同的表盘而不是默认的“简单”表盘时,我得到的一切都是黑屏,上面有我的 Google Now 卡片。--> 我看不到任何时
我正在尝试在 Wear 模拟器上使用新的表盘 API,当我扩展 CanvasWatchFaceService 时onTimeTick 方法从未被触发,因此时钟从未被更新。 我正在使用模拟示例并尝试移除
到目前为止 我正在开发一款适用于 Android Wear 的表盘应用。 我创建了 2 个模块: Wear - 在开发过程中运行良好的表盘 Mobile - 评论建议的没有 Activity 的空模块
我正在学习这两个教程:tutorial 1和 tutorial 2 .但是在我的 AndroidManifest.xml 文件中,以下几行在表盘下方有一个下划线,所以我想知道如何修复它。这是我的源代码
我正在学习使用 Android Studio 3.1.4 在 WearOS 下开发表盘。我的调试器有问题。 看来我无法在 Debug模式 (Shift-F9) 下直接运行应用程序。如果我这样做,我会系
我想从我的 xcode 项目生成一个 .watchface 文件。有什么方法可以从默认 watch 应用程序之外创建 .watchface 文件吗? 我找到了一个网站Facer ,他们提供定制选项并从
这是我第一次使用 Android Studio,如果这是一个业余错误,请原谅。因此,我正在尝试按照此处的 Google 教程创建 WearOS 表盘:https://codelabs.develope
我是一名优秀的程序员,十分优秀!