0

我正在尝试为 Google Glass 构建一个简单的 Hello World GDK 程序。我到处查找,但我能找到的所有示例都使用了“时间线管理器”,它在 XE 16 之后被谷歌删除。

我要做的是创建一张在中间显示文本(Hello world!)的实时卡片。我尝试从HERE(HuskyHuskie 的回答)和HERE(IsabelHM 的回答)修改代码

但是,无论我做什么,即使控制台显示程序已安装在设备上,玻璃上也没有出现任何选项或语音命令。

我主要修改的是取出 TimelineManager 部分并替换

mLiveCard = mTimelineManager.createLiveCard(LIVE_CARD_ID);mLiveCard = new LiveCard(this,LIVE_CARD_ID);

另外,我对 Android 比较陌生。我不太明白 R.id.XXXX 和 R.layout.XXXX 是如何从资源中丢失的。您需要在 Manifest 中定义它还是其他什么?

以下是 onStartCommand 方法:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
            RemoteViews aRV = new RemoteViews(this.getPackageName(),
            R.layout.card_text);
    if (mLiveCard == null) {
       // mLiveCard = mTimelineManager.createLiveCard(LIVE_CARD_ID);
        mLiveCard = new LiveCard(this,LIVE_CARD_ID);

        aRV.setTextViewText(R.id.main_text, INTRO);
        mLiveCard.setViews(aRV);



        Intent mIntent = new Intent(this, MainActivity.class);
        mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK |    Intent.FLAG_ACTIVITY_CLEAR_TASK);
        mLiveCard.setAction(PendingIntent.getActivity(this, 0, mIntent, 0));
        mLiveCard.publish(LiveCard.PublishMode.REVEAL);
    } 
    return START_STICKY;
}
4

2 回答 2

1

好的,我让它按照这个工作

请注意,清单并不完全正确。您需要在 XE16 更新后的 Manifest 中添加这一行:

    <uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />

请参阅此处的帖子以供参考。

于 2014-07-18T04:22:54.757 回答
0

我强烈建议使用我们在GitHub 上提供的官方示例并阅读我们的文档,因为所有这些警告都已解释和处理。

如果您使用的是最新版本的 Android Studio,您还可以通过我们提供的模板轻松创建新项目:LiveCardImmersion.

  1. 打开安卓工作室
  2. 创建一个新项目
  3. 输入您的项目信息:应用程序名称、包名称等。
  4. 选择 Glass 作为外形尺寸:确保取消选择所有其他外形尺寸,除非您也想为这些设备进行开发。
  5. 选择Immersion ActivitySimple Live Card模板
  6. 在 Glass 上构建并运行您的新 Hello World 项目!
于 2014-07-24T16:00:32.693 回答