2015-04-05 50 views
0

傳遞意圖發射活動我有一個Service這在一個字符串變量獲得一個類名,並使用此代碼傳遞到sharedpreferences:如何使用從服務

settings.edit().putString("class", activityClass).commit(); 

`

服務然後將啓動我的passprompt活動,它需要讀取字符串並啓動存儲在裏面的活動。

 try { 

      SharedPreferences settings = getApplicationContext().getSharedPreferences("data", Context.MODE_PRIVATE); 
      String c = settings.getString("class", "null"); 
      Intent newIntent= new Intent(passprompt.this, Class.forName(c)); 
      newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(newIntent); 

     } 
     catch (ClassNotFoundException e) { 
     } 

然而,計劃的活動預計不會

回答

0

你可以試試這個時候推出,

  1. 如果在您的應用程序 本次活動得到了完全合格的Activity類的名字,並把它意圖額外如下,

    Intent newIntent= new Intent(Passprompt.this, Class.forName("your activity class name"))); 
        newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(newIntent); 
    
  2. 如果這是另一個applicatino

    Intent intent = new Intent(Intent.ACTION_MAIN); 
    intent.setComponent(new ComponentName("packagename", "packagename.launh_activity_name")); 
    startActivity(intent); 
    
+0

感謝大衛內的活動,在的Class.forName(),意向尚未宣佈這就是爲什麼我有問題,我應該做2個意圖對象 - 一個用於檢索字符串,另一個用於啓動新的活動? – user3343264 2015-04-05 11:04:51

+0

是的,你需要,接受,如果它幫助你。 – 2015-04-05 11:11:19

+0

我應該在新意圖的參數中使用什麼? (currentactivity,x activity) – user3343264 2015-04-05 11:16:07