我正在制作一个隐藏我们调用的号码的应用程序,但是当我们挂断呼叫时,会出现一个显示移动电话号码的屏幕,如何找到该屏幕的包名?
final PackageManager pm = getPackageManager();
             //get a list of installed apps.
             List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
             for (ApplicationInfo packageInfo : packages) {
                 Log.d(TAG, "Installed package :" + packageInfo.packageName);
                 Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName)); 
             }我试过这个,但是我只得到我的应用程序包名,而不是android's activity package name。
发布于 2014-06-30 04:56:37
您可能应该获得运行前台的任务并从中提取包名。
 private String getCurrentTopPackage() {
        ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
        ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
        return ar.topActivity.getPackageName().toString();
    }您应该定期运行线程或计时器任务,以获得最多的活动包名称。
发布于 2014-06-30 04:57:39
只需使用以下命令即可获得:
全班学生:
public static String PACKAGE_NAME;在onCreate中:
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    PACKAGE_NAME = getApplicationContext().getPackageName();
}然后您可以通过Main.PACKAGE_NAME访问它。
https://stackoverflow.com/questions/24483101
复制相似问题