2011-10-28 105 views

回答

2

由於java禁止多重繼承,你實際上不能。由於您正在計劃隱蔽svervelliance的應用程序,您不需要任何活動 - 只是一個廣播接收器 它與位置服務溝通,並在某處發送獲得的位置。

+0

但我的代碼使用位置管理涉及getsystemservice()這是顯示error.Can你告訴我如何修改我的代碼獲取經度和緯度沒有繼承MapActivity? –

+0

你敢不敢顯示你的錯誤? –

+0

我修復了我的code.Here是我更新後的代碼pastebin.com/yKitMftU但是一個新問題出現了。它不是發送它的位置(經度和緯度),而是發送發件人的位置,發件人的位置在發件人發送後自動發送。我想要這個代碼發送接收者的位置而不是sender.Can你可以幫我嗎? –

0

Java不支持多繼承,但是您可以實現儘可能多的接口,因此您可以通過組合來實現。這是一個粗略的概述,但有很多方法可以做到。基本思想是,對於要從其中繼承的任何一個或兩個類,您都有對某個實現的引用,並且通過委派實現相同的接口。

interface MapActivity { 
    Coordinates getCoordinates(); 
... 
} 

class SomeMapActivityImpl { 
... 
} 

class ReceivelocationActivity extends BroadcastReceiver implements MapActivity { 
    private MapActivity mapActivity = new SomeMapActivityImpl(); 

    public Coordinates getCoordinates() { 
    return mapActivity.getCoordinates(); 
    } 

... 
}