2011-11-07 3 views
0

Androidマーケット(ユーザーの連絡先情報の読み取りをリクエストする壁紙アプリなど)からアプリをダウンロードする前に、奇妙なアクセス許可のリクエストについて警告するアプリを作成しています。ユーザがボタンを押しての使用許可のリストが表示されたときに呼び出されるインテントをキャプチャする方法はありますか?Androidマーケットの権限画面へのインテントコールをキャプチャするために、インテントフィルタを使用できますか?

enter image description here

答えて

0

私が知っているこれを行う方法はありません。 (彼らはそれを実行する前に、ほとんどの場合)、ユーザは代わりにアプリをインストールした後に、ユーザーごダイアログ権利を表示することができます。

の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) {} 
    } 
} 
+0

ときほとんどの場合、*実行する前にアプリがインストールされて実行されるまでの間にあると言っていますか?たとえば、すぐにサービスを開始できますか? – Phil

+0

私があなたのプロジェクトであなたに与えたコードを入れて、Marketからアプリケーションをインストールし、インストールされるとすぐにそれらを開くようにしてください。ほとんどの場合、[開く]ボタンをクリックする前に競合がなくなり、受信者が呼び出され、ブロードキャストが開始される前にクリックしてもコードは実行されます。 –

+0

これは私の望む答えではありませんが、いくつかの主要なハッキングをしないと、これは私の最善の策です(私は* c2dmハイジャック*を試みましたが、Androidマーケットは署名検証を使用し、パケット自体、これは行う必要があります)。 – Phil

関連する問題