2010-08-18 6 views
13

확인을 차단하는 방법, 그래서 완전히 확실하지 않은이 가능합니다 ... 안드로이드 일 - '응용 프로그램 설치'의도

그러나 다음과 같은 활동 중 하나가되기 전에 나는 몇 가지 코드를 실행할 수 있도록 응용 프로그램을 작성하려고 공연.

1) APK 웹 시장에서 다운로드가 차단하고 이러한 이벤트에 메시지를 표시하는 것이 가능 설치

2) 설치 버튼을 안드로이드 시장

에 누르면 실행, 또는 Google은 아래로 그 물건을 잠근 아주 단단히?

답변

10

본인의 답변이 아니지만 여기에서 설명 도구를 찾을 수 없습니다. 죄송합니다. 이 문제도 발생합니다. 새 응용 프로그램 설치를 감지 할 수 있기를 바랍니다. 가능하다면 - 예를 들어 SD 용 앱은 새로운 앱을 설치할 때 알림을 게시합니다. 클릭하면 새 앱을 SD 카드로 이동하는 대화 상자가 열립니다. 지금까지 내가 이해할 수있었습니다 모두는 다음과 같이이다 : manifest.xml :

... 
<receiver android:name=".IntentReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.PACKAGE_ADDED" /> 
    <action android:name="android.intent.action.PACKAGE_REMOVED" /> 
    <data android:scheme="package" /> 
    </intent-filter> 
</receiver> 
... 

IntentReciever.java :

public class IntentReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    context.startService(new Intent(context, YourService.class)); 
    } 
} 

YourService 후 생성 한 후)에서 onCreate를 (호출되고 onStartCommand(). 그러나이를 디버깅하거나 서비스 클래스의 알림을 성공적으로 표시 할 수 없었으므로이 방법이 확실하지 않습니다. android.intent.action.BOOT_COMPLETED와 같은 다른 수신기에서 작동하도록했습니다.

+5

PACKAGE_REMOVED 및 태그를 추가했습니다. 이러한 내용이 내 매니페스트에 포함되면 응용 프로그램을 설치하거나 제거 할 때 응용 프로그램이 올바르게보고됩니다. http://groups.google.com/group/android-developers/browse_thread/thread/14589d5e0761c056 및 http://developer.android.com/guide/appendix/faq/framework.html#7을 참조하십시오. – prodaea

5

BroadcastReceiver를 사용하면 android.intent.action.PACKAGE_ADDED 인 텐트를 필터링 할 수 있습니다. 그러나 이것은 귀하가 묘사 한 두 가지 행동 후에 만 ​​가능합니다. 그리고 설치를 중단하거나 중단하지 않습니다.

AFAIK 전에 시장을 방해하거나 시장을 방해 할 수있는 방법이 없습니다. 그리고 우리는 심지어 설치되어있는 앱보다 다른 앱에 대해서도 이야기하고 있습니다.

관련 문제