我正在使用Eclipse IDE开发android Wear应用程序.我使用相同的包名称来佩戴应用程序和移动应用程序,我正在根据谷歌文档手动打包可穿戴应用程序.一切正常.使用usb调试安装在Android Wear模拟器上用电话.
我的问题是当我使用以下代码向可穿戴设备发送消息时
List<Node> nodeList=getNodes();
for(Node node : nodeList) {
Log.v(" ", "telling " + node.getId() );
PendingResult<MessageApi.SendMessageResult> result = Wearable.MessageApi.sendMessage(
mGoogleApiClient,
node.getId(),
START_ACTIVITY_PATH,
null
);
result.setResultCallback(new ResultCallback<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult sendMessageResult) {
Log.v(" ", "Phone: " + sendMessageResult.getStatus().getStatusMessage());
}
});
}
Run Code Online (Sandbox Code Playgroud)
当设备被对等但OnMeageReceived从未在WearableListenerService中调用时,OnPeerConnected方法正在运行.这是我的WearableListenerService代码:
public class DataLayerListenerService extends WearableListenerService {
private static final String TAG = "DataLayerSample";
private static final String START_ACTIVITY_PATH = "/start/MainActivity";
private static final String DATA_ITEM_RECEIVED_PATH = "/data-item-received";
private static final String LOG_TAG = "log";
@Override
public void onPeerConnected(Node peer) {
super.onPeerConnected(peer);
String id = peer.getId();
String name = peer.getDisplayName();
Log.d(LOG_TAG, "Connected peer name & ID: " + name + "|" + id);
}
@Override
public void onDataChanged(DataEventBuffer dataEvents) {
System.out.println("Recevive message3");
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
System.out.println("service watch message1");
if (messageEvent.getPath().equals(START_ACTIVITY_PATH)) {
System.out.println("service watch message2");
Intent startIntent = new Intent(this, MainActivity.class);
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startIntent);
}
}
}
Run Code Online (Sandbox Code Playgroud)
此外,Logcat中始终显示警告消息:
应用程序与记录的应用程序密钥不匹配:AppKey [com.myapp,c3f31717fa35401056c20a2798907f1232efa75e]!= AppKey [com.myapp,f36e726eefc7e528db26a1c25f6fbf2f93dacd70]
如果两个应用的应用密钥应该相同,那么我如何为这两个应用创建相同的应用密钥.
任何帮助都非常感谢,谢谢.
Mac*_*ęga 10
您有错误消息:
应用程序与记录的应用程序密钥不匹配:AppKey [com.myapp,c3f31717fa35401056c20a2798907f1232efa75e]!= AppKey [com.myapp,f36e726eefc7e528db26a1c25f6fbf2f93dacd70]
表示您的应用使用不同的密钥进行签名.
手机和可穿戴应用程序的软件包名称相同 - 这很好,但它们也需要共享相同的签名.这就是无法传递邮件的原因 - 可穿戴应用程序基于包名称和签名被识别为"同一应用程序的一部分".
请确保您使用相同的密钥签署了这两个应用.如果您正在测试自动安装功能,请确保从手表模拟器卸载可穿戴应用程序的调试版本.
vog*_*Dev 10
我有同样的错误,我的错是"磨损"模块的包名与应用程序的名称不同.
BAD:
[module: app] es.voghdev.myapp
[module: wear] es.voghdev.myapp.wear
GOOD:
[module: app] es.voghdev.myapp
[module: wear] es.voghdev.myapp
Run Code Online (Sandbox Code Playgroud)
让我浪费了这么多时间!> :-(
| 归档时间: |
|
| 查看次数: |
5749 次 |
| 最近记录: |