标签: onpause

Android - 如何结束片段

在我的应用程序中,我有一个导航抽屉,我的应用程序的工作方式是只有一个活动,如果您从导航抽屉中选择一些东西,它会启动/替换当前片段.我怎样才能这样做,以便当从导航抽屉中选择某些内容并且新片段开始时,旧片段结束

我不能

@Override
public void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    getActivity().finish();
}   
Run Code Online (Sandbox Code Playgroud)

因为只有一项活动会杀死应用程序.

我如何杀死片段?

编辑:我的片段交易

Home HomeFragment = new Home();
        transaction.replace(R.id.llhome, HomeFragment);
        transaction.addToBackStack(null);
        transaction.commit();
              mDrawerList.setItemChecked(position, true);
                mDrawerLayout.closeDrawer(mDrawerList);
Run Code Online (Sandbox Code Playgroud)

谢谢

java android android-fragments onpause activity-finish

5
推荐指数
2
解决办法
2万
查看次数

通过多个活动持有android蓝牙连接

我正在构建一个通过蓝牙与Arduino板通信的Android应用程序,我将蓝牙代码放在一个名为BlueComms的类中.要连接到设备,我使用以下方法:

public boolean connectDevice() {
    CheckBt();
    BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
    Log.d(TAG, "Connecting to ... " + device);
    mBluetoothAdapter.cancelDiscovery();
    try {
        btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
        btSocket.connect();
        outStream = btSocket.getOutputStream();
        Log.d(TAG, "Connection made.");
        return true;

    } catch (IOException e) {
        try {
            btSocket.close();
        } catch (IOException e2) {
            Log.d(TAG, "Unable to end the connection");
            return false;
        }
        Log.d(TAG, "Socket creation failed");
    }
    return false;

}
    private void CheckBt() {
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    if (!mBluetoothAdapter.isEnabled()) {
        System.out.println("Bt dsbld");
    }

    if (mBluetoothAdapter == null) { …
Run Code Online (Sandbox Code Playgroud)

android bluetooth android-intent onpause android-activity

5
推荐指数
1
解决办法
2万
查看次数

Android - 对应用程序的所有活动执行onResume和onPause代码?

我正在设计一个架构,其中应用程序每次进入后台时都需要执行某些操作(onPause),每次返回前台时都需要执行一组操作(onResume),而不管活动(对于所有活动).有没有办法实现这一点,而不必在每个活动类'onPause和onResume覆盖中调用这些方法?

lifecycle android onresume onpause android-activity

5
推荐指数
1
解决办法
1487
查看次数

什么是活动空闲,为什么在应用程序启动后调用它?

我正在使用Camera API开发相机应用程序,在我启动应用程序后,在大约3秒内,我的活动空闲(这是我的logcat,当活动开始时):

18317-18317/com.example.cristi.appname W/Preview? surfaceCreated() 18317-18317/com.example.cristi.appname W/Preview? setFlash() 18317-18317/com.example.cristi.appname W/Preview? surfaceChanged()

---->18317-18317/com.example.cristi.appname I/Timeline? Timeline: Activity_idle id:android.os.BinderProxy@30f1e190 time:11392220

18317-18317/com.example.cristi.appname W/CameraActivity? onPause() 18317-18317/com.example.cristi.appname W/CameraActivity? onResume()

---->18317-18317/com.example.cristi.appname I/Timeline? Timeline: Activity_idle id: android.os.BinderProxy@30f1e190 time:11393866

我知道如果屏幕被锁定,它确实是这样的,但是为什么当我的活动被打开而没有做任何其他事情时它会这样做?这让我很烦,因为它会影响我想做的一些事情onPause()以及onResume()在第一次闲置后调用的事情.奇怪的是,之后出现了第二次空闲onResume().

它与我的手机有什么关系吗?我在Allview P5 Mini三星Galaxy S5上测试我的应用程序.它确实只在三星上,Allview和模拟器上的一切都很好.我需要提一下,闲置不会一直出现,只是在三星的一些应用程序启动时.

有人知道会发生什么吗?欢迎任何参考或建议!提前致谢!

camera android onresume onpause android-activity

5
推荐指数
0
解决办法
3796
查看次数

AdMob - 禁用请求onPause()

我已经阅读了一些关于在隐藏/最小化应用程序时尝试停止adView的文章,但这会导致我的应用崩溃.

这是我的代码,adView.LoadAd ...和adView.stopLoading都会在启动时崩溃应用程序.

public class MainActivity extends Activity implements OnItemSelectedListener {
    @Override
    protected void onResume() {
        super.onResume();
        if (AdViewStarted = true) {
            adView.loadAd(new AdRequest());
        }
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (AdViewStarted = true) {
            adView.destroy();
        }
    }

    [...]

    public class AdMob extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            adView = new AdView(this, AdSize.BANNER,"12345678901234567890");
            LinearLayout layout = (LinearLayout) findViewById(R.id.adView);
            layout.addView(adView);
            adView.loadAd(new AdRequest());
            AdViewStarted = true;
        }

        @Override
        public void onDestroy() {
            if (adView != …
Run Code Online (Sandbox Code Playgroud)

android onresume admob adview onpause

4
推荐指数
1
解决办法
2885
查看次数

在onPause()内部调用finish(),但在方向更改时调用

我有一个应用程序需要在有人退出其主要活动时调用完成(所以我不希望它被暂停),即使按下home活​​动也必须完成,处理这个当前我只是调用finish()我的onPause()方法,因为一切完成片段它很好地工作,并没有给出任何稳定性问题.

我唯一的问题是我无法处理onPause()以前调用的方向更改onConfigurationChanged()(允许我在发生旋转时禁用此行为).

我可以创建一个服务来处理这个,但它的方式复杂.

任何的想法?

android orientation onpause android-activity

4
推荐指数
1
解决办法
7001
查看次数

onCreate() 在 Activity 停止(但未销毁)时调用。仅在安装后

我正在开发一个针对 Api 19 的应用程序,它基本上是一个处理草图。

我面临的问题是我的应用程序第一次运行时,在安装后,它运行良好,直到用户将其发送到后台。然后,如果他们再次单击应用程序图标,则调用 onCreate() 但活动不会被销毁或重新启动。一些变量会发生变化,从而产生奇怪的行为。

这仅在第一次使用该应用程序时发生。强制关闭它后,这种行为不会再发生(据我测试)。从 Eclipse 启动应用程序时也不会发生这种情况。

总而言之,这是第一次强制关闭后发生的情况(我认为是正确的):

  • 活动正在运行。

  • 活动通过主页按钮返回

  • 暂停()

  • 我们再次点击应用程序图标

  • onResume()

这就是 - 仅 - 安装后第一次运行应用程序时发生的情况:

  • 活动正在运行。

  • 活动通过主页按钮返回

  • 暂停()

  • 我们再次点击应用程序图标

  • onCreate() <-- !! 注意没有 onDestroy()

  • onResume()

我想知道我使用沉浸式模式是否与此有关,但是将 Api 目标版本更改为 10、删除沉浸式模式或在旧设备上进行测试都无济于事。当然,我在清单上使用了android:configChanges="orientation|keyboardHidden|screenSize"

有没有人知道可能导致这种情况的原因?这是一个常见问题还是我应该在我的代码中查找错误?也许是处理错误?

提前感谢您提供任何线索。我希望这是询问这个问题的正确方式。这是我的第一篇文章。

更新: 我的解释不是很准确,但显然有一个错误报告。这个问题在这里解释得更好:https : //code.google.com/p/android/issues/detail?id=26658

不幸的是,我无法使建议的解决方案起作用,在 onCreate() 中使用它会导致我的应用程序关闭或崩溃:

if (!isTaskRoot()) {
  finish();
  return;
} 
Run Code Online (Sandbox Code Playgroud)

android oncreate android-lifecycle onpause

4
推荐指数
1
解决办法
5913
查看次数

android - ArrayAdapter没有默认构造函数

我正在制作适配器以使我的书籍集合在列表视图中可见.

KK

如果我添加super(context,position),问题就解决了:

    public BookAdapter(Context context, int position, List <Book> updatedBooksList) {
    super(context, position);
    this.context = context;
    this.booksList = updatedBooksList ;
}
Run Code Online (Sandbox Code Playgroud)

但是,我想知道为什么我需要这个参数(int position)并调用超类构造函数?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
Run Code Online (Sandbox Code Playgroud)

另外,从广义上讲,为什么我们总是(?)需要在每个onCreate中调用super.onCreate?

我们不应该覆盖我们所有的活动生命周期阶段 - onPause,onREsume,onStop,OnDestroy,但我们仍然需要在每个阶段调用super?

android oncreate activity-lifecycle android-lifecycle onpause

4
推荐指数
1
解决办法
7552
查看次数

如果我们在override函数中的super()函数之前或之后写,那么代码的影响是什么

我对super()覆盖函数中的函数调用感到困惑.

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
}
Run Code Online (Sandbox Code Playgroud)

是的代码的影响,之前或之后写什么super.onDestroy()super.onPause()或其他超级功能在所有类型的android系统中被覆盖的方法呢?

android activity-lifecycle ondestroy onpause android-activity

4
推荐指数
1
解决办法
856
查看次数

如何取消onPause或onStop方法?

EDITED&SOVLED(下)

我需要在用户离开活动时进行最后检查.
如果这次检查的结果不成功,我不能让他出去.

我需要一种这样的:

@Override
protected void onPause() {
    if (comprobations == true){
        super.onPause();
        } else {
            NOT EXIT!!
        }
}
Run Code Online (Sandbox Code Playgroud)

看起来很容易:但是我试过但不跑.

有人可以帮帮我吗?

Thaanks

解:

感谢大家的快速解答!
他们每个人都帮助我,我学到了一些新东西.

我试过这个onBackPressed()方法,这就是我想要的.我知道用户仍然可以通过按Home键和其他方式退出App,但我只是想阻止用户在返回主菜单时认为我的应用程序配置正常; 如果他们想从应用程序出去,那没关系.
所以我会做这样的事情:

@Override
public void onBackPressed() {
    Log.d(LOGTAG, "onBackPressed");
    if (COMPROBATIONS() == true){
        super.onBackPressed();
    } else {
        SHOW WARNING!
    }
    return;
}
Run Code Online (Sandbox Code Playgroud)


感谢大家的帮助.
祝你玩得愉快.

android onpause android-activity

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