私が知っているこれを行う方法はありません。 (彼らはそれを実行する前に、ほとんどの場合)、ユーザは代わりにアプリをインストールした後に、ユーザーごダイアログ権利を表示することができます。
のAndroidManifest.xml
<receiver android:name=".Receiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_CHANGED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
Receiver.java
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
PackageManager manager = this.getPackageManager();
PackageInfo info = manager.getPackageInfo(
intent.getData().getSchemeSpecificPart(), 0);
Toast.makeText(context, "Look at these suspicious permissions:"+
info.permissions, Toast.LENGTH_LONG).show();
} catch (Exception e) {}
}
}
ときほとんどの場合、*実行する前にアプリがインストールされて実行されるまでの間にあると言っていますか?たとえば、すぐにサービスを開始できますか? – Phil
私があなたのプロジェクトであなたに与えたコードを入れて、Marketからアプリケーションをインストールし、インストールされるとすぐにそれらを開くようにしてください。ほとんどの場合、[開く]ボタンをクリックする前に競合がなくなり、受信者が呼び出され、ブロードキャストが開始される前にクリックしてもコードは実行されます。 –
これは私の望む答えではありませんが、いくつかの主要なハッキングをしないと、これは私の最善の策です(私は* c2dmハイジャック*を試みましたが、Androidマーケットは署名検証を使用し、パケット自体、これは行う必要があります)。 – Phil