Created
October 10, 2011 09:11
-
-
Save anonymous/1274924 to your computer and use it in GitHub Desktop.
Receiver/Permission全部取得する奴
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package product.miyabi.android.broadcasttest; | |
| import java.util.List; | |
| import android.app.Activity; | |
| import android.content.Context; | |
| import android.content.pm.ActivityInfo; | |
| import android.content.pm.ApplicationInfo; | |
| import android.content.pm.PackageInfo; | |
| import android.content.pm.PackageManager; | |
| import android.content.pm.PackageManager.NameNotFoundException; | |
| import android.content.pm.PermissionInfo; | |
| import android.os.Bundle; | |
| import android.widget.ListView; | |
| import android.widget.ScrollView; | |
| import android.widget.TextView; | |
| public class BroadcastTestActivity extends Activity { | |
| /** Called when the activity is first created. */ | |
| @Override | |
| public void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| //setContentView(R.layout.main); | |
| Context context = getApplicationContext(); | |
| ScrollView sv = new ScrollView(context); | |
| TextView tv = new TextView(context); | |
| sv.addView(tv); | |
| setContentView(sv); | |
| StringBuilder builder = new StringBuilder(); | |
| PackageManager pm = getPackageManager(); | |
| List<ApplicationInfo>infos = pm.getInstalledApplications(0); | |
| for (ApplicationInfo appinfo :infos){ | |
| PackageInfo pinfo; | |
| try { | |
| pinfo = pm.getPackageInfo(appinfo.packageName,PackageManager.GET_RECEIVERS|PackageManager.GET_PERMISSIONS); | |
| builder.append("Package:"+appinfo.packageName+"\n"); | |
| builder.append("====================\n"); | |
| if(pinfo.receivers != null){ | |
| builder.append(" Receiver:\n"); | |
| for (ActivityInfo actinfo :pinfo.receivers){ | |
| builder.append(" "); | |
| builder.append(actinfo.name); | |
| builder.append("\n"); | |
| } | |
| tv.setText(builder.toString()); | |
| } | |
| if(pinfo.permissions != null){ | |
| builder.append(" Permission:\n"); | |
| for (PermissionInfo perminfo :pinfo.permissions){ | |
| builder.append(" "); | |
| builder.append(perminfo.name); | |
| builder.append("\n"); | |
| } | |
| tv.setText(builder.toString()); | |
| } | |
| builder.append("\n"); | |
| } catch (NameNotFoundException e) { | |
| // TODO Auto-generated catch block | |
| e.printStackTrace(); | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment