마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 부팅시 자동 실행 어플 질문이요.

0 추천

안드로이드 부팅시 자동 실행 어플 만들려고 합니다. 그런데... 방법을 찾아보니... 서비스로 계속 돌리더라고요.. 서비스면.. 백그라운드 ㅠ_ㅠ;; 유저에게 보이지 않습니다... ㅠㅠ;;; 저는 실행하면 어플이 뜨면서... 사용자에게 보여야 하는데 말이죠..... 방법 좀 알려주세요.... 몇 일째 삽질 하는 중입니다.... ㅠ_ㅠ.. 구원좀... 해주세요....

이쪽이.... 메니페스트...쪽이고요....

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hitek.android.udcontrol"
    android:versionCode="1"
    android:versionName="1.0" >
  
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.hitek.android.udcontrol.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.hitek.android.udcontrol.btlistActivity1"></activity>
        <activity android:name="com.hitek.android.udcontrol.btlistActivity2"></activity>
        <activity android:name="com.hitek.android.udcontrol.btlistActivity3"></activity>
        <activity android:name="com.hitek.android.udcontrol.btlistActivity4"></activity>
        <activity android:name="com.hitek.android.udcontrol.btlistActivity5"></activity>
        <activity android:name="com.hitek.android.udcontrol.btlistActivity6"></activity>
       
        <!-- <service android:name="com.hitek.android.udcontrol.myservice" /> -->
         <receiver android:name="com.hitek.android.udcontrol.abr"
      android:enabled="true"
      android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
            <intent-filter>
          <action android:name="android.intent.action.BOOT_COMPLETED" />
          <action android:name="android.intent.action.SCREEN_ON" />
          <action android:name="android.intent.action.SCREEN_OFF" />
          <category android:name="android.intent.category.DEFAULT"/>
         </intent-filter>     
            </receiver>
       
    </application>
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />
    <uses-permission android:name="android.permisson.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

이쪽이... 자바쪽 입니다..AppBroadcastReceiver.java

package com.hitek.android.udcontrol;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class abr extends BroadcastReceiver {
 
 @Override
 public void onReceive(Context context, Intent intent){  
  //if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")){
   /*ComponentName comp = new ComponentName(context.getPackageName(), MainActivity.class.getName());
   ComponentName service = context.startService(new Intent().setComponent(comp));*/
   
  //}
  String action = intent.getAction();
  if(action.equals("Intent.ACTION_BOOT_COMPLETED")){
   Toast.makeText(context, "udcontrol!", Toast.LENGTH_SHORT).show();
   Intent i = new Intent(context, MainActivity.class);
   i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   context.startActivity(i);
  }
  
 }
}

 

흠.... 포그 그라운드 (?? 사용자가 보이는 화면????) 이쪽을 디스플레이 해야 하는데 말이죠 ㅠㅠ....

안드롭초보 (530 포인트) 님이 2013년 7월 9일 질문

1개의 답변

+1 추천
 
채택된 답변

http://stackoverflow.com/questions/10428510/how-to-start-launch-application-at-boot-time-android

 

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
public class MyBroadCastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent i = new Intent(context, MyActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
} 
<receiver android:name=".MyBroadCastReceiver">
    <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

 

aucd29 (218,390 포인트) 님이 2013년 7월 9일 답변
aucd29님이 2013년 7월 9일 수정
흠.... 제거랑 똑같은거... 같은데....;;;; 혹시 다른가요???.....;;;
아... 젠장 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ aucd29님을 욕하는게 아니라.. ㅋㅋㅋㅋㅋ 제가 한심해서 욕이 나오네요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅠ_ㅠ;; 감사합니다... 블로그.. 한 20개 다시천천히 살피면서 분석했더니.. 되네요... ㅠ_ㅠ;;;;먼 차이지///////ㅠㅠ;;; 모르겠네요.... 분명... 맞는거 같긴한데.. ㅠㅠ
...