小编dob*_*i96的帖子

如何从片段访问服务功能,该片段绑定到Android中的父活动?

我有一个带有Viewpager片段的Android活动。在活动的onCreate方法中,我将服务绑定到该服务,该服务始终在后台运行。

在片段中,在特定条件下,我需要在处理该条件的服务中调用一个函数。访问服务并调用其功能的正确方法是什么?

MainActivity.java

public class MainActivity extends AppCompatActivity {

private String TAG = "MainActivity";

DbHelper dbHelper;
SessionManager sessionManager;
SessionCache sessionCache;
Map<String, ?> userDetails;
protected SocketListener socketService;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    sessionManager = new SessionManager(getApplicationContext());

    // Connect to background socketlistener service
    Intent serviceIntent = new Intent(MainActivity.this, SocketListener.class);
    startService(serviceIntent);
    .
    .
    .

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
    tabLayout.addTab(tabLayout.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.profileicon)));
    tabLayout.addTab(tabLayout.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.homeicon)));
    tabLayout.addTab(tabLayout.newTab().setText("").setIcon(getResources().getDrawable(R.drawable.chaticon)));

    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
    final NonSwipeableViewPager viewPager = (NonSwipeableViewPager) findViewById(R.id.view_pager);

    final CustomPagerAdapter pagerAdapter = new CustomPagerAdapter
            (getSupportFragmentManager(), tabLayout.getTabCount());

    viewPager.setAdapter(pagerAdapter);
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); …
Run Code Online (Sandbox Code Playgroud)

java sockets service android android-fragments

3
推荐指数
1
解决办法
1956
查看次数

标签 统计

android ×1

android-fragments ×1

java ×1

service ×1

sockets ×1