2014-01-13 23 views
0

我試圖寫一個測試程序將通過許多在我的應用程序的方法運行的方法。我有一個叫做朋友的活力。我要啓動它,然後運行幾個方法。這是從另一個類「WebCall」,這是從GCM廣播接收器,稱爲正好完成。的Android運行在當前topActivity

我想什麼WebCall寫的是一樣的東西......

private void systemTest(){ 
Intent intent = null; 
intent = new Intent(Main.getMSContext(),Friends.class); 
Main.getMSContext().startActivity(intent); 
Class c = getSomethingorOther(Friends); // I need a class instance to run the method? 
c.sendTxt(1); 
c.sendEmail(1); 
c.deleteFriend(1); 
c.finish(); 

的困難,我看到的是,startActivity(意向)不返回一個類實例。我希望它隱藏在某處。

回答

1

這不是一個很好的做法,從另一個類開始一個活動,然後使用它的實例,因爲如果你開始從antother活動的活動,然後你當前活動將停止工作,你不能保證你的行會被執行。

這是更好地啓動和活動和意圖使用putExtra()

Intent intent = new Intent(Main.getMSContext(),Friends.class); 
Bundle b = new Bundle(); // Create a new bundle 
b.putBoolean("test", true); // Put test=true inside 
intent.putExtras(b); // Add the bundle to the intent 
Main.getMSContext().startActivity(intent); 

內,您的新活動的onCreate()使用以下方法來檢查,如果被測試的需求:

Bundle b = getIntent().getExtras(); 
if (b != null) { 
    bool test = b.getBool("test"); 
    if (test) { 
     sendTxt(1); 
     sendEmail(1); 
     deleteFriend(1); 
     finish(); 
    } 
} 
+0

謝謝。這正是我做了什麼(最終),當然它工作得很好! – user462990

+1

這應該是'b.putBoolean( 「測試」,TRUE);'那裏 – Rocco

+0

@Rocco感謝,固定。 – Danpe

相關問題