2016-09-30 3 views
7

चूंकि Google ने घोषणा की है कि क्रोमबुक "एंड्रॉइड एप्लिकेशन" का भी समर्थन करता है, इसलिए मैं क्रोमबुक पर अपने ऐप का समर्थन करना चाहता था हालांकि यह कुछ के साथ ठीक चल रहा है अपवाद जो मुझे ठीक करने की ज़रूरत है।क्रोम बुक में या एंड्रॉइड फोन में "एंड्रॉइड ऐप" चल रहा है, तो प्रोग्रामेटिक रूप से कैसे पता चलाना है

मैं इस तरह से कोड लिखना चाहता हूं कि यह केवल क्रोमबुक के लिए निष्पादित होगा और एंड्रॉइड फोन और टैबलेट के लिए निष्पादित नहीं होगा।

मैंने एंड्रॉइड डेवलपर साइट में Chromebook दस्तावेज़ के साथ जांच की है, मुझे ऐसा कोई एपीआई नहीं मिला है जो बताता है कि आपका ऐप क्रोम बुक पर्यावरण में चल रहा है।

ARC Beta documentation से

सुझाव काम नहीं किया:

आप यदि आपका ऐप्स क्रोम ओएस पर चल रहा है की जाँच की जरूरत है, android.os.Build.BRAND और android.os.Build.MANUFACTURER रूप क्रोमियम के लिए देखो।

दोनों ASUS Chromebook पर google पर वापस लौटें।

+0

हो गया; स्पष्ट रूप से एक टैग पहले से ही है। मैंने अपना जवाब हटा दिया और संपादित किया कि प्रश्न में क्या प्रयास किया गया था। सौभाग्य। – Xan

उत्तर

7

अंत में मैं एक तरह से यह पता लगाने एआरसी में चलाने में यदि ऐप को जानने:

context.getPackageManager().hasSystemFeature("org.chromium.arc.device_management"); 
+0

क्या कोई क्रोमबुक का उपयोग कर वास्तव में इसकी पुष्टि कर सकता है? क्या आप सुनिश्चित हैं कि एंड्रॉइड ऐप्स से क्रोमबुक में अंतिम देशी एकीकरण एआरसी का उपयोग उसी तरह करेगा? – TSGames

+1

@TSGames हां, मैंने इसकी पुष्टि की है और यह उम्मीद के अनुसार काम कर रहा है। डिवाइस का उपयोग किया गया: Google पिक्सेल Chromebook – dex

+0

बहुत बहुत धन्यवाद! उपरोक्त :) – TSGames

0

एक अन्य विधि Google uses in their own code अगर Build.DEVICE "_cheets" के साथ समाप्त होता जाँच करने के लिए है। मुझे नहीं पता कि इस तरह के डिवाइस नाम समाप्त होने पर किसी प्रकार की लंबी अवधि की रणनीति या तेजी से कामकाज होता है, लेकिन यह डेक्स के प्रस्तावित समाधान के अतिरिक्त भी दिखता है।

एफडब्ल्यूआईडब्ल्यू, चूंकि एआरसी वेल्डर की विधि को बहिष्कृत किया गया है और इस पर अभी तक कोई आधिकारिक दस्तावेज नहीं है, मेरे पास एक्सडीए मंचों में started a discussion भी है, यह चर्चा करने के लिए कि विभिन्न उपकरणों पर काम नहीं करता/काम नहीं करता है।

0
नवीनतम SDK के साथ

, आप

PackageManager pm = context.getPackageManager(); 
if (pm.hasSystemFeature(PackageManager.FEATURE_PC)) 
    // it's a chromebook 

पुराने उपकरणों के लिए क्या कर सकते हैं (और अब के रूप में, सभी "पुराने" कर रहे हैं, एआरसी आधारित मेरा मानना ​​है कि), the official way करना है:

if (Build.BRAND != null && Build.BRAND.equals("chromium") && Build.MANUFACTURER.equals("chromium")) 
    // it's a chromebook 
+0

"आधिकारिक" तरीका पुराना है। उदाहरण के लिए नवीनतम पिक्सेलबुक के लिए "google" – SILINIK

+0

@SILINIK आपके डिवाइस पर 'FEATURE_PC' काम करता है? – Gabor

संबंधित मुद्दे