2015-12-22 49 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