android - 覆盖android中的空闲超时

标签 android

我正在构建一个应用程序,我想覆盖该应用程序的空闲超时。我希望它永远不会超时,类似于大多数游戏。有谁知道你会怎么做。我已经在互联网上搜索了一段时间,但我不确定。

iPhone 空闲超时 = 否;

super 简单,有没有像我可以在 Android 中点击的全局设置?我没有在 Android 开发人员或我查看过的任何网页中看到任何内容。

非常感谢!

我有第二个附带问题。我也有内存泄漏。这是代码 [代码] 包 fourguys.testing.IntentTest;

导入android.app.Activity; 导入 android.media.MediaPlayer; 导入 android.os.Bundle; 导入 android.os.Handler; 导入 android.os.Message; 导入 android.media.MediaPlayer; 导入 android.media.AudioManager; 导入 android.content.Context;

公共(public)类 CanvasDrawingActivity 扩展 Activity {

private static final int FIRE = 0;
private int initVolume = 0;
private Handler handler;
private MyCanvas v;
private MediaPlayer mp;
private AudioManager am;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    am = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);

        // this method gets the current volume setting for music
        initVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);


        am.setStreamVolume(AudioManager.STREAM_MUSIC,100,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);

    mp = MediaPlayer.create(this, R.raw.test);

    makeHandler();
    v =new MyCanvas(this);
    new Thread(new Runnable(){
        @Override
        public void run() {
            while(true)
                handler.sendEmptyMessage(FIRE); 
        }}).start();
    setContentView(v);
    mp.setLooping(true);
    mp.start();
}
private void makeHandler()
{
    handler  = new Handler(){

        @Override
        public void handleMessage(Message msg) {
            switch(msg.what)
            {
            case FIRE:
            {
                v.invalidate();
                break;
            }
            }
        }

    };
}
protected void onPause() {
    super.onPause();
    mp.stop();
}
protected void onFinish() {
    mp.stop();
}

}

[/代码]

还有这个:

[代码] 包 fourguys.testing.IntentTest;

导入android.app.Activity; 导入 android.content.Intent; 导入 android.media.MediaPlayer; 导入 android.os.Bundle; 导入 android.view.View; 导入 android.widget.Button; 导入 android.view.WindowManager;

公共(public)类 IntentTest 扩展 Activity { /** 在第一次创建 Activity 时调用。 */

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

    //reciever intentReceiver = new reciever();

   // IntentFilter intentFilter = new IntentFilter("com.app.REC");

    //registerReceiver(intentReceiver, intentFilter); 
    Button b = (Button)this.findViewById(R.id.endButton);
    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(IntentTest.this,CanvasDrawingActivity.class);
            startActivity(i);

        }
     });
 }
// the onPause method get called when the app is either being hidden or being closed so this the place where we would want to clean anything up like stoping the media player.
@Override
protected void onPause()
{
    super.onPause();
}
}

[/代码]

我运行了该应用程序,但它在退出时变得不稳定。它会锁定听筒并导调用池过热。我需要物理拉动电池才能重新启动。关于为什么会这样的任何想法?它在模拟器上运行得非常好。我应该改用 onFinish,还是我没有清理某些东西而遗漏了它?

最佳答案

不要为此使用唤醒锁,而是将窗口设置为在显示时保持屏幕开启。系统会处理细节。来自您的 Activity :

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

关于android - 覆盖android中的空闲超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788716/

相关文章:

android - 如何取消组合 Fabric 中的 native 崩溃报告?

android - 在 Android 中运行 iptv 和 ts url

java - Android 私有(private)库、依赖项和 libs 文件夹有什么区别?

java - 在 Activity 内创建 fragment

java - 我的第一个应用程序教程 "Unfortunately My First App has stopped."

android - 我如何为 Android L MR1 5.1 启用 bootchart

android - 包含 .so 文件时减小 APK 的大小

android - Material 设计 : Extended toolbar + Back button

android - Proguard Android 如何辨别?

android - 如何在 Android Studio 中创建小部件?