我对在智能手表中接收价值有疑问。目前我从这个问题按照这个步骤
实际上,提出问题的人有答案,但由于我的评论声誉不够,所以我不能在他/她的问题中逐个提问。
现在,根据回答问题的人 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);
}
由于不是活动,所以无法使用getpreference来获取。有人知道怎么做吗?