OK、それでこれが可能かどうか完全にはわかりません...
ただし、次のアクティビティを実行する前にコードを実行できるように、アプリケーションを作成しようとしています。
1)APKはWebからダウンロードされ、マーケットはインストーラーを起動します
2)Androidマーケットでインストールボタンが押されている
これらのイベントを傍受してプロンプトを出すことは可能ですか、それともグーグルはそれらをかなり厳しくロックしましたか?
OK、それでこれが可能かどうか完全にはわかりません...
ただし、次のアクティビティを実行する前にコードを実行できるように、アプリケーションを作成しようとしています。
1)APKはWebからダウンロードされ、マーケットはインストーラーを起動します
2)Androidマーケットでインストールボタンが押されている
これらのイベントを傍受してプロンプトを出すことは可能ですか、それともグーグルはそれらをかなり厳しくロックしましたか?
これ自体は答えではありませんが、ここにはコメント ツールがありません。ごめん。私もこの問題を抱えています。新しいアプリケーションのインストールを検出できるようにしたいと考えています。私はそれが可能であることを知っています - たとえば、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 などの他のレシーバーで機能するようになりました。
BroadcastReceiver を使用すると、android.intent.action.PACKAGE_ADDED インテントをフィルタリングできます。ただし、これは、説明した2つのアクションの前ではなく、後になります。また、インストールを停止または中断することはありません。
私の知る限り、市場の前に何かをしたり、市場を中断したりする方法はありません。もちろん、インストールされているアプリとは別のアプリについても話しています。