2013-02-21 68 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)定義要開始將獲得(這是當然的,該清單文件中做了擴展的自定義意圖);然後從您的其他分機廣播該意圖。我選擇這種方式,也是因爲它使我能夠將數據傳遞給擴展。

如果您覺得此解決方案有用,請投票:-)