2013-02-21 69 views
1

从我的分机,我就可以开始了呼叫处理扩展使用此代码:的SmartWatch的扩展开始

Intent i1 = new Intent("com.sonyericsson.extras.aef.control.START_REQUEST"); 
    i1.putExtra("aea_package_name", "com.sonyericsson.extras.liveware.extension.call"); 
    i1.setPackage("com.sonyericsson.extras.smartwatch"); 
    mContext.sendBroadcast(i1, "com.sonyericsson.extras.liveware.aef.HOSTAPP_PERMISSION"); 

但我不能开始我自己的扩展,也以同样的方式任何其他第三方扩展:

Intent i2 = new Intent("com.sonyericsson.extras.aef.control.START_REQUEST"); 
    i2.putExtra("aea_package_name", "eir.log"); 
    i2.setPackage("com.sonyericsson.extras.smartwatch"); 
    mContext.sendBroadcast(i2, "com.sonyericsson.extras.liveware.aef.HOSTAPP_PERMISSION"); 

当从另一个应用程序调用它时,i2意图工作正常,但不能从扩展中调用。

我很困惑。呼叫处理扩展是否从主机应用程序接收到一些特殊待遇,或者是什么问题?

+0

您可以添加Android清单的清单开始标记吗? – mdiener 2013-10-08 12:18:28

+0

@mdiener我不知道我是否正确理解你,我不知道它有什么区别......无论如何,它是这样的:'” – Eir 2013-10-10 12:22:54

回答

0

我发现了两个办法来解决这个问题:调用其他之前,在当前延伸

1)触发停止。这恰好适用于最新的SmartWatch 2,但据我记忆,它不适用于原始的SmartWatch。

什么是安全的事,如果你开始自己的扩展:

2)定义要开始将获得(这是当然的,该清单文件中做了扩展的自定义意图);然后从您的其他分机广播该意图。我选择这种方式,也是因为它使我能够将数据传递给扩展。

如果您觉得此解决方案有用,请投票:-)