2011-03-09 8 views
6

나는 안드로이드 장치를위한 소프트웨어 모음을 작성하여 통화 시간과 다양한 다른 통화 정보를 추적합니다. 응용 프로그램 중 하나를 Activity에서 시작하지 않고 Service로 실행하고 싶습니다. 전화가 부팅 될 때 즉시 초기화하고 끊임없이 계속 실행하고 전화 통화를 청취하고 다음과 같이 데이터베이스에 정보를 기록하고 싶습니다. 필요한. 서비스는 각 통화가 끝날 때 사용자에게 대화를 제공해야합니다.안드로이드 서비스 응용 프로그램

2 질문 :

  1. 어떻게 프로그램 (서비스)가 필요없이 사용자 설정 또는 상호 작용으로 부팅 할 때 자동 초기화받을 수 있나요?

  2. 활동을 사용하지 않고 대화 상자를 인스턴스화하고 표시 할 수 없다는 인상하에있었습니다. 사용자가 현재 화면에 가지고있는 대화 상자가 표시되도록 대화 상자를 표시하고 대화 상자를 표시합니다. Activity를 현재 활동에 대해 완전히 투명하게 만드는 방법이 있습니까? 아니면 서비스의 대화 상자를 표시하는 방법이 있습니까? 사전에

감사합니다.

답변

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> 

자바 코드에서 수신기 만들기

활동을 사용하지 않고 대화 상자를 인스턴스화하고 표시 할 수 없다는 인상하에있었습니다. 사용자가 현재 화면에 가지고있는 대화 상자가 표시되도록 대화 상자를 표시하고 대화 상자를 표시합니다. Activity를 현재 활동에 대해 완전히 투명하게 만드는 방법이 있습니까? 아니면 서비스의 대화 상자를 표시하는 방법이 있습니까?

예. 대화 상자를 팝업하는 활동이 있어야합니다. 투명한 활동이 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> 
관련 문제