【新闻背后】美团外卖商家Android版强杀竞争对手App
下午,一位程序員小伙伴在知乎上發(fā)了一則帖子技術(shù)揭幕貼,題目也是廣為人知的知乎體「如何評(píng)價(jià)美團(tuán)外賣強(qiáng)殺競爭對(duì)手的 App 進(jìn)程?」
簡而言之,該程序員在反編譯完美團(tuán)外賣商家Android版后,發(fā)現(xiàn)其中有一個(gè)殺死后臺(tái)運(yùn)行進(jìn)程的權(quán)限,通過Android開發(fā)者官方文檔,他隨之找到了killBackgroundProcesses(String packageName)的調(diào)用處,發(fā)現(xiàn)美團(tuán)的Android程序員直接用Hardcode寫死了四款A(yù)pp的包名——餓了么商家版、點(diǎn)評(píng)商家版、淘點(diǎn)點(diǎn)商家版、百度外賣商家版。
這位舉報(bào)者指出,美團(tuán)調(diào)用killBackgroundProcesses(String packageName)方法的類名是FriendUtil(這個(gè)類名倒是很厚道,呵呵),最后他表示美團(tuán)大膽地用Hardcode封殺的行為,實(shí)在有點(diǎn)過了。
小編也建議做「有節(jié)操」的Android 開發(fā)者,共同維護(hù)平臺(tái)公平性,希望這次不要又拿實(shí)習(xí)生出來頂包。
【更新】
美團(tuán)還是反應(yīng)很快的。公司的副總王慧文在晚7點(diǎn)多時(shí)回應(yīng),9點(diǎn)多給出了詳細(xì)的調(diào)查結(jié)果,“全量發(fā)版更新掉了這段代碼”,并道歉。
另外代碼的編寫者(已離開美團(tuán),前員工也能很快找到并回應(yīng),看人家這執(zhí)行力)也給出了自己的說明,并道歉。兩者的核心內(nèi)容是一致的,商家App需要通過藍(lán)牙打印,但Android手機(jī)藍(lán)牙模塊只能允許一個(gè)App與藍(lán)牙設(shè)備連接,為了解決爭用導(dǎo)致無法打印的問題,就直接寫了關(guān)閉其他應(yīng)用的代碼。由于Android軟件”基本上都會(huì)加上后臺(tái)自啟”,所以其他應(yīng)用其實(shí)并不會(huì)真正失效。
知乎上很多討論來自“殺與被殺”當(dāng)事雙方,都有些意氣用事,多數(shù)都沒什么價(jià)值。但其中董涵的回答中,建議這種情況下,可以“使用斷開后重連的方式來強(qiáng)制再次連接……畢竟你們使用的藍(lán)牙打印機(jī)應(yīng)該是不同的,可以判斷出是否是自己應(yīng)用連接上。實(shí)在不行,可以先disable后再enable?!?/p>
十三郎還給出了代碼:
BluetoothAdapter.getDefaultAdapter().enable(); BluetoothAdapter.getDefaultAdapter().disable();
對(duì)此,代碼編寫者回復(fù):
餓了么的產(chǎn)品經(jīng)理sacho則從產(chǎn)品角度提出了一種解決方案:
針對(duì)你說的藍(lán)牙端口被其他 app 占用無法連接的問題,餓了么的產(chǎn)品經(jīng)理會(huì)給出如下解決方案:彈窗提醒用戶問題所在,請(qǐng)用戶選擇是否強(qiáng)行關(guān)閉其他 app。
感覺比較合理。
【頭條點(diǎn)評(píng)】
美團(tuán)在代碼中殺對(duì)手進(jìn)程的做法當(dāng)然是不對(duì)的,這個(gè)毋庸置疑,不管你初衷如何,影響多大,競爭情況下類似會(huì)引起沖突的任何舉措都要特別謹(jǐn)慎。否則就是授人以柄,一旦被人抓住,你就等著唾面自干吧。
但這次事件的性質(zhì)與當(dāng)年3Q大戰(zhàn)還是有很大區(qū)別的:殺死會(huì)自動(dòng)重啟的進(jìn)程與直接卸載對(duì)方的軟件當(dāng)然不可同日而語。
從格調(diào)上也有區(qū)別,那時(shí)候是你死我活,兩邊都有很重的草莽氣。現(xiàn)在雖然也有很多嘴仗(大部分沒什么必要),但雙方的應(yīng)對(duì)都理性、紳士多了,很欣喜業(yè)界新興公司的這種進(jìn)步。
現(xiàn)在問題來了,遇到這種情況,最合理的解決方案是什么呢?吵架沒什么意思,歡迎大家繼續(xù)討論正事兒。
總結(jié)
以上是生活随笔為你收集整理的【新闻背后】美团外卖商家Android版强杀竞争对手App的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内防火墙永久开启或者关闭操作命
- 下一篇: 互联网知识更新快,该如何学习