从Intent获取包名称

时间:2015-09-11 12:45:26

标签: android clock

我正在尝试获取默认安卓时钟(股票时钟)的包名称。

这是我用来打开股票时钟的意图。

Intent i = new Intent(AlarmClock.ACTION_SHOW_ALARMS);

我试过了

i.getPackage();

但是这会返回null。有没有办法在Android手机中获取默认时钟的包名?

2 个答案:

答案 0 :(得分:3)

  

但是这会返回null

这是因为您尚未在Intent中设置包名称。

  

有没有办法在Android手机中获取默认时钟的包名?

不是真的,因为Android中没有“默认时钟”的概念。

但是,您可以使用PackageManagerqueryIntentActivities()查看哪些活动会对您构建的Intent做出响应。

答案 1 :(得分:0)

  

希望这对您有帮助:

final PackageManager packageManager = this.getPackageManager();
Intent intent = new Intent(AlarmClock.ACTION_SHOW_ALARMS);
List<ResolveInfo> packages = packageManager.queryIntentActivities(intent,0);
    for(ResolveInfo res : packages){

        String package_name = res.activityInfo.packageName;
        Log.w("Package Name: ",package_name);

    }