스마트기기개발관련/안드로이드 개발

안드로이드 android apk 앱 설치시 아이콘 숨기기 관련

AlrepondTech 2016. 7. 7. 17:59
반응형

 

 

 



=======================

=======================

=======================

 

 

 

 

 

출처: http://ddungdunge.blogspot.kr/2014/05/android-app-icon.html

 

 

오늘 포스팅 하려고하는 부분은 바로 앱 아이콘을 보이지 않게 하는 부분 입니다^^
 
왜 설치한 앱을 다시 숨기냐고요??
 
ㅎㅎ 제가 지금 하는 프로젝트의 특성상 두개의 apk를 사용하기 때문입니다 
 
그래서 하나의 앱에서 또다른 앱을 호출 하는 형식으로 진행 되거든요
 
그래서 불려지는 앱은 아이콘이 없어야하는 문제가 있었습니다^^
 
 
결론.... AndroidManifest.xml 파일에 한줄만 제거해주면... 너무 간단히 앱아이콘을 숨길수 있네요...
 
소스는 이러합니다.
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
    package="com.example.testhello"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.testhello.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>
    </application>
 
</manifest>
 
 
 
위와같은 일반적인 manifest 파일에서 22 line 을 제거 해주기만 하면 
 
앱 아이콘은 사라지지만 다른앱을 통해 호출이 가능한 상태가 됩니다^^
 
 
일반적으로는 자주 사용되지는 않겠지만
 
우선 지금은 나에게 필요했던 부분이기에 포스팅으로 남깁니다^^
 
다들 즐거운 월요일 되세요~

 

 

 

 



=======================

=======================

=======================

 

 

 

출처: http://shary1012.tistory.com/135

 

AndroidManifest.xml

<intent-filter>
<action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

 

 

 



=======================

=======================

=======================

 

 

 

출처: http://itmir.tistory.com/433

 

 

 

파워 앰프 언락커를 예로 들면

실행할경우 런처에서 아이콘을 숨기는 기능이 있습니다

 

이처럼 런처에서 어플의 Icon을 숨길수 있습니다

 

AndroidManifest.xml에서는 아래와 같이 설정하지만 java에서 유동적으로도 설정이 가능합니다

<intent-filter>

    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

 

아래는 예제 입니다

 

첫번째 예제

ComponentName componentToDisable =

    new ComponentName("com.example.app",

"com.example.app.Activity");


getPackageManager().setComponentEnabledSetting(

    componentToDisable,

PackageManager.COMPONENT_ENABLED_STATE_DISABLED,

PackageManager.DONT_KILL_APP);

 

두번째 예제

PackageManager pm = getPackageManager();

pm.setApplicationEnabledSetting("com.example.app",

    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,

PackageManager.DONT_KILL_APP);

 

 

자신의 어플(this)외 타 어플의 아이콘을 숨기려고 하면 퍼미션 오류가 나타납니다

android:sharedUserId속성을 이용하면 가능하다고도 합니다

 

 



=======================

=======================

=======================

 

 

반응형