15

OK、それでこれが可能かどうか完全にはわかりません...

ただし、次のアクティビティを実行する前にコードを実行できるように、アプリケーションを作成しようとしています。

1)APKはWebからダウンロードされ、マーケットはインストーラーを起動します

2)Androidマーケットでインストールボタンが押されている

これらのイベントを傍受してプロンプトを出すことは可能ですか、それともグーグルはそれらをかなり厳しくロックしましたか?

4

2 に答える 2

11

これ自体は答えではありませんが、ここにはコメント ツールがありません。ごめん。私もこの問題を抱えています。新しいアプリケーションのインストールを検出できるようにしたいと考えています。私はそれが可能であることを知っています - たとえば、Apps to 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>
...

インテントレシーバー.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 などの他のレシーバーで機能するようになりました。

于 2010-09-10T14:34:41.267 に答える
5

BroadcastReceiver を使用すると、android.intent.action.PACKAGE_ADDED インテントをフィルタリングできます。ただし、これは、説明した2つのアクションの前ではなく、後になります。また、インストールを停止または中断することはありません。

私の知る限り、市場の前に何かをしたり、市場を中断したりする方法はありません。もちろん、インストールされているアプリとは別のアプリについても話しています。

于 2010-09-26T18:12:08.577 に答える