2015-12-22 91 views
0

我想從一個活動傳遞數據,而無需實際打開寄件人活動數據傳遞到發射活動

無需訪問發件人活動啓動的活動,我想一些數據傳遞到一旦我打開我的應用程序發射器活動。

有沒有可能?

謝謝。

+0

使用'共享首選項' –

+1

您能解釋什麼是發件人和發件人活動? –

+0

通過發件人活動,我的意思是第二(第二)活動,我的啓動活動顯然是第一件活動。我想要的是儘快打開我的應用程序,將數據從第二活動提取到啓動程序活動,並且應該對用戶可見前往第二個活動 –

回答

0

我有辦法做到這一點

下面是一個例子

發件人活動

public class PlayerScreen extends Activity{ 
static PlayerScreen playerScreen; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.player); 
     playerScreen = this; 
     } 
    public void update(){ 
     . 
     . 
     . 
     } 
    public static PlayerScreen getInstance() { 
     return playerScreen; 

    } 
} 

LauncherActivity

public class MainActivity extends Activity{ 

@Override 
    protected void onCreate(Bundle bundle){ 
    super.onCreate(bundle); 
    setContentView(R.layout.main); 
    try{ 
    PlayerScreen.getInstance().update(); 
      } catch(Exception e){ 
      }finally{ 
       } 
     } 
} 
1

如果您想傳遞一些數據,我認爲您不需要發件人活動。如果你有很多事情要做,服務是一個更好的選擇。

+0

這應該是一條評論。不是答案。 –

+0

@ChiragSavsani我能做的就是給出一些一般性建議。我從描述中得到的東西太少了。 –

0

你可以發送一個廣播,當你開始你的應用程序,這樣

Intent intent = new Intent("your broadcast key");  
intent.putExtra(COUNTER_VALUE, counter);  
sendBroadcast(intent);  

這樣你就可以得到它,無論你記數的BroadcastReceiver到recerve廣播。 這樣

public void registerReceiver(Context ctx) { 
    IntentFilter connFilter = new IntentFilter("your broadcast key"); 
    ctx.registerReceiver(instance, connFilter); 
} 

public void unregisterReceiver(Context ctx) { 
    ctx.unregisterReceiver(instance); 
    instance = null; 
} 

@Override 
public void onReceive(Context context, Intent intent) { 
    //do things here when you receive your broadcast 
} 
+0

我不能在這裏使用意圖。正如我希望我的應用程序應該讀取來自第二活動的數據並在主要活動啓動後立即顯示給用戶。 –

+0

@JatinKhattar也許你可以跳轉到啓動器活動,只要你的發件人活動創建,就像這樣'@覆蓋 保護無效onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); startActivity(new Intent(this,LauncherActivity.class)); }'發件人的活動將不可見 – chichiangho