2011-04-25 92 views
1

我想显示BroadcastReceiver中的应用程序包名称,其intentreceiver中收到。我使用了intent.getPackage()方法,但它不起作用。我还尝试使用上下文对象显示该包名称,该对象是参数onReceive()方法来显示包名称,但它不起作用。如何在Android中获取应用程序的包名?

请帮帮我。提前致谢。

回答

0

这样:

ApplicationInfo packageInfo = this.getApplicationContext().getApplicationInfo(); 
packageName = packageInfo.packageName; 

编辑:这是不是从广播接收机的工作,我误解了问题。

阅读本页:http://developer.android.com/reference/android/content/Intent.html Intent.getPackage不会为您提供调用的包,而是意图限制的包。

如果我明白这个页面,Intents不会提供包名或任何允许您识别的内容。

如果您是发送意图的人(但我相信您不是),那么您可以在意图中将包名称发送到您可以在广播接收器中检索到的可发送包中。否则,我认为这是不可能的。

+0

Thanks.But我正在拦截意图,例如正在扩展BroadcastReceiver的类中的传出电话调用,并且在该类的onReceive()方法中,我想打印已发送意向的应用程序的包的名称,如传出的电话呼叫。这就是为什么我使用intent.getPackage()方法,但它返回空值。 – gauri 2011-04-25 09:55:44

+0

对不起,我误解了你的问题。我编辑了我的答案。 – Yahel 2011-04-25 10:07:59

+0

谢谢。但我不明白术语“包名的意图是有限的”。是否有任何其他方式获取该意图的活动名称或进程名称?对于打出的电话,我只是拿到了电话号码。但我想要检索一些额外的信息。 – gauri 2011-04-25 10:49:58

相关问题