【发布时间】:2013-09-27 06:25:55
【问题描述】:
我对智能手表的接收价值有疑问。目前我从这个question开始按照这个步骤进行操作
实际上,提问的人有答案,但由于我的评论声誉不够,所以我不能在他/她的问题中逐个评论。
现在,根据回答问题的 Eir 先生。我对他的回答有疑问:
您还想将一些参数传递给您的扩展程序,即 你提到的字符串。这可能有点棘手;通常,你会通过 Intent 本身中的那个字符串,作为额外的,但在这里,那不是 可用的。您需要将该信息(字符串)保存在 您的扩展程序也可以访问的位置。所以,如果你的活动 并且您的扩展程序是同一应用程序的一部分,该位置可以是 应用偏好:Activity 将值保存在偏好中,并且 扩展程序从相同的首选项中读取它并将其显示在 智能手表之类的。
他说我可以将值保存在首选项中,扩展程序从相同的首选项中读取它并将其显示在 SmartWatch 上。不幸的是,我不知道扩展是如何读取它的。我尝试将值放在 samplepreferenceactivity 中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences settings = getSharedPreferences("SHARED_PREFS_FILE",0);
String message = settings.getString("send", "message");
}
我不知道如何将值放入 controlextension 类中,如果可以放入,我希望您用于更改 "Hello watch"。您可以在下面找到 controlextension 类:
public class HelloWatchExtension extends ControlExtension{
...
public HelloWatchExtension(Context context, String hostAppPackageName) {
super(context, hostAppPackageName);
width = getSupportedControlWidth(context);
height = getSupportedControlHeight(context);
layout = new RelativeLayout(context);
textView = new TextView(context);
textView.setText("Hello watch!");
textView.setTextSize(9);
textView.setGravity(Gravity.CENTER);
textView.setTextColor(Color.WHITE);
textView.layout(0, 0, width, height);
layout.addView(textView);
}
由于不是activity,所以不能通过getpreference来获取。有人知道怎么做吗?
【问题讨论】:
标签: android sony sony-smartwatch