2011-03-09 15 views
6

मैं एंड्रॉइड डिवाइस के लिए एक सॉफ्टवेयर सूट लिख रहा हूं जो कॉल टाइम्स और कई अन्य कॉल जानकारी का ट्रैक रखेगा। मैं एक गतिविधि से शुरू होने के बिना एक सेवा के रूप में चलाने के लिए आवेदन करना चाहता हूं, और मैं फोन बूट होने पर तुरंत शुरू करना चाहता हूं, और लगातार चल रहा हूं, फ़ोन कॉल सुन रहा हूं, डेटाबेस को जानकारी लॉगिंग कर रहा हूं ज़रूरी। प्रत्येक कॉल के अंत में सेवा को उपयोगकर्ता को एक संवाद पेश करने की आवश्यकता होगी।एंड्रॉइड सर्विस एप्लिकेशन

2 सवाल:

  1. मैं कैसे कार्यक्रम (सेवा) कोई उपयोगकर्ता सेटिंग या बातचीत की आवश्यकता के साथ बूट पर स्वचालित रूप से प्रारंभ करने के लिए मिलता है?

  2. मैं इस धारणा के तहत था कि आप गतिविधि का उपयोग किये बिना संवाद को तुरंत चालू और प्रदर्शित नहीं कर सकते हैं। मैं चाहता हूं कि संवाद जो दिखने के लिए स्क्रीन पर मौजूद है, और एक संवाद प्रदर्शित करें। क्या गतिविधि को वर्तमान गतिविधि पर पूरी तरह से पारदर्शी बनाने का कोई तरीका है या क्या सेवा से संवाद प्रदर्शित करने का कोई तरीका है? पहले से

धन्यवाद।

उत्तर

10

मैं कैसे कार्यक्रम (सेवा) कोई उपयोगकर्ता सेटिंग या बातचीत की आवश्यकता के साथ बूट पर स्वचालित रूप से प्रारंभ करने के लिए मिलता है?

अपने प्रकट करने के लिए इस अनुमति जोड़ें:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

फिर अपने प्रकट करने के लिए एक रिसीवर जोड़ें:

public class BootReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // start the service from here 
    } 
} 
:

<receiver android:name="your.package.BootReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     <category android:name="android.intent.category.HOME" /> 
    </intent-filter> 
</receiver> 

जावा कोड में एक रिसीवर बनाएं

मैं इस धारणा के तहत था कि आप गतिविधि का उपयोग किये बिना संवाद को तुरंत चालू और प्रदर्शित नहीं कर सकते हैं। मैं चाहता हूं कि संवाद जो दिखने के लिए स्क्रीन पर मौजूद है, और एक संवाद प्रदर्शित करें। क्या गतिविधि को वर्तमान गतिविधि पर पूरी तरह से पारदर्शी बनाने का कोई तरीका है या क्या सेवा से संवाद प्रदर्शित करने का कोई तरीका है?

हाँ, यह सच है। आपको एक ऐसी गतिविधि होनी चाहिए जो संवाद को पॉप अप करे। बनाने के लिए एक पारदर्शी गतिविधि अपने res/values/styles.xml फ़ाइल में निम्नलिखित शैली को जोड़ने यहाँ एक पूरी फाइल है (यदि आप एक नहीं है, यह पैदा करते हैं।): उदाहरण के लिए,

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme.Transparent" parent="android:Theme"> 
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowBackground">#00000000</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:backgroundDimEnabled">false</item> 
    </style> 
</resources> 

फिर अपने गतिविधि के लिए शैली लागू:

<activity android:name=".TransparentActivity" android:theme="@style/Theme.Transparent"> 
... 
</activity> 
संबंधित मुद्दे