Skip to content

Instantly share code, notes, and snippets.

Created October 10, 2011 09:11
Show Gist options
  • Select an option

  • Save anonymous/1274924 to your computer and use it in GitHub Desktop.

Select an option

Save anonymous/1274924 to your computer and use it in GitHub Desktop.
Receiver/Permission全部取得する奴
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