Я хочу узнать способ запуска SmartWatch Extension из программного кода. Например, Intent и т. д. На днях я зарегистрировал скриптовый язык для SmartWatch в Google Play. Он делится на две программы: одна регистрируется как расширение SmartWatch (BitmapCatcher), а другая регистрируется как приложение для смартфона (Luarida). Скрипт запускается со смартфона. Здесь я хочу запустить BitmapCatcher одновременно с запуском скрипта. Способ не понятен, хотя думается, что BitmapCatcher можно запустить без касания экрана, если Intnent отправлен в LiveWare.
Научите, пожалуйста, программный код, в котором SmartWatch Extension запускается без касания экрана.
(Это было рекомендовано задать г-ну Джеркеру на этом сайте, когда я задавал этот вопрос в обсуждении Smart Extras на мобильном сайте Sony.)
Расширение SmartWatch не удалось запустить из других приложений Android, хотя оно было протестировано со ссылкой на ваше объяснение. Пожалуйста, научите еще раз.
Что мне написать в "Your.package.name"?
Более того, что я должен написать в "HostAppPackageName"?
Тот, который начинается с sendBroadcast это БитмапКэтчер. Имя этого пакета "com.luaridaworks.smartwatch.bitmapcatcher".
В тестовой программе было написано следующее. Он продолжается следующим комментарием.
package com.luaridaworks.test02;
import com.sonyericsson.extras.liveware.aef.control.Control;
import com.sonyericsson.extras.liveware.aef.registration.Registration;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class Test02Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, "com.luaridaworks.smartwatch.bitmapcatcher");
intent.setPackage("com.luaridaworks.smartwatch.bitmapcatcher");
sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);
}
}
Поскольку BitmapCatcher не запустился, Intent был переписан следующим образом и протестирован.
intent = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, "com.luaridaworks.smartwatch.bitmapcatcher");
intent.setPackage("com.sonyericsson.extras.liveware");
sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);
Аналогично не начиналось. Intent был переписан следующим образом и протестирован.
intent = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, "com.luaridaworks.smartwatch.bitmapcatcher");
intent.setPackage("com.luaridaworks.test02");
sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);
Аналогично не начиналось. Intent был переписан следующим образом и протестирован.
intent = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, "com.luaridaworks.test02");
intent.setPackage("com.luaridaworks.smartwatch.bitmapcatcher");
sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);
Аналогично не начиналось. Intent был переписан следующим образом и протестирован.
intent = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, "com.sonyericsson.extras.liveware");
intent.setPackage("com.luaridaworks.smartwatch.bitmapcatcher");
sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);
Аналогично не начиналось. Это пока не удалось.
Приведите пример кода программы с именем com.luaridaworks.test02, в котором "com.luaridaworks.smartwatch.bitmapcatcher" обычно запускается из прикладной программы.