2011-05-10 54 views
9

是否有任何可能的方式的时候调用的意图活动时调用一个方法来调用一个方法。当我使用intent调用从一个活动切换到另一个时,我只想显示特定的方法。如何使用意图

回答

12

使用extras束在Intent

Intent i = new Intent(...); 
i.putExtra("your_condition", int_condition); 

然后在的Intent

int_condition=getIntent.getIntExtra("your_condition"); 

的onCreate现在你可以使用这个

if(int_condition==0) 
{ 
//Call the method 
} 
else 
{ 
//method you want 
} 

再有你的另一种选择,你可以通过方法名作为参数您Intent,假设您正在发送mathod_name作为extraBundle

String method_name=getIntent.getIntExtra("method_name"); 
Class<?> c = Class.forName("class name"); 
Method method = c.getDeclaredMethod (method_name, parameterTypes) 
method.invoke (objectToInvokeOn, params) 
-3

这似乎更像是一个设计问题。明智地使用你的意图过滤器,它应该很容易实现。

+0

请给出一些明智使用的例子。谢谢。 – jasonflaherty 2013-09-26 01:47:57

-7

不完全相信你的要价......但这种意图将所谓有人

例如

Intent i = new Intent("android.intent.action.CALL", 
ContentURI.create("tel:" + phone)); 
startActivity(i); 

你必须有

<uses-permission id="android.permission.CALL_PHONE" /> 

否则清楚地把你的万阿英,蒋达清。我不能够inderstand

+0

我认为他想打电话从意图,最有可能的另一个应用程序的方法的具体方法。这就是为什么我说取决于调用意图应该在应用程序流程中采取另一个逻辑。这只是一个设计问题。 – 2011-05-10 06:59:56