相关疑难解决方法(0)

如何挂钩Android中的电源按钮?

在Android设备上,只有按钮是音量按钮和电源按钮,我想让应用程序对按下电源按钮(长和短)做出反应.这是怎么做到的?

android

30
推荐指数
3
解决办法
7万
查看次数

活动生命周期X电源按钮X锁定屏幕

当我按下电源键时,屏幕关闭(完全黑暗),系统会破坏我的活动,然后重新创建它:

03-28 22:48:00.934: V/[BB](5809): [GameControl] onPause
03-28 22:48:01.444: V/[BB](5809): [GameControl] onDestroy
03-28 22:48:01.724: V/[BB](5809): [GameControl] onCreate
03-28 22:48:03.016: V/[BB](5809): [GameControl] onResume
03-28 22:48:03.016: V/[BB](5809): [GameControl] onPause
Run Code Online (Sandbox Code Playgroud)

这是因为我的活动具有固定方向(横向)并且锁定屏幕是纵向.

我通过设置固定的纵向方向测试了这个理论,但问题没有发生.我还检查了getResources().getConfiguration()值:

{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=2 layout=17 uiMode=17 seq=36}
{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=1 layout=17 uiMode=17 seq=37}
{ scale=1.0 imsi=724/31 loc=pt_BR touch=3 keys=2/1/1 nav=1/1 orien=2 layout=17 uiMode=17 seq=38}
Run Code Online (Sandbox Code Playgroud)

怎么可以避免呢?我不希望锁定屏幕破坏我的活动!

android android-lifecycle

15
推荐指数
1
解决办法
5833
查看次数

如何在android中以编程方式检测设备电源按钮两次

我正在制作一个Android应用程序,需要检测设备电源按钮事件按两次/三次并在后台发送短信.监听器应该在后台运行(即使我的应用程序未打开,它应该检测到按键事件并相应地采取行动).

以下是我尝试过的代码无效...

我的代码:

public class MyBroadCastReciever extends BroadcastReceiver {

     int Count=0;

     @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
               Count++;
               if(Count==2){
                  //Send SMS code..
                 }


            } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
                 //This is for screen ON option.
            }
        }
Run Code Online (Sandbox Code Playgroud)

清单文件:

  <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >


    <receiver android:name=".MyBroadCastReciever" >
        <intent-filter>
            <action android:name="android.intent.action.SCREEN_OFF" />
            <action android:name="android.intent.action.SCREEN_ON" />
        </intent-filter>
    </receiver>
</application>
Run Code Online (Sandbox Code Playgroud)

android

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

Android:听电源按键

我正在尝试按下电源按钮时听.最后,我希望在按两次电源按钮时运行一些代码,以检查屏幕是锁定还是解锁.我目前有这个:

  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//prevent phone from being locked
}

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) {

    switch (keyCode) {
        case KeyEvent.KEYCODE_POWER:
        {
            Toast.makeText(getBaseContext(), "Power button pressed", Toast.LENGTH_LONG).show();

            return true;
        }
        case KeyEvent.KEYCODE_MENU:
            Toast.makeText(getBaseContext(), "Menu Button Pressed", Toast.LENGTH_LONG).show();

            return true;
    }
    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

该代码可以很好地为菜单keyevent干杯,但不会为电源键事件做任何事情.有任何想法吗?

android keyevent

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

在Android上是否可以按下开始按钮发送短信,电子邮件和拨打电话?

在按下电话开始按钮的Android中执行以下操作在技术上是否可行.让我们说用户的手机已关闭.当用户按下开启按钮时,会发生以下情况:

  1. 发送短信
  2. 发送电子邮件
  3. 打电话

目前,我试图找到手机的START BUTTON 的KeyCode但无法在log cat中获得任何响应.

import android.view.KeyEvent;

        @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {


            Log.e("KeyCode", "KeyCode:" + keyCode);
            Log.e("KeyEvent", "KeyEvent" + event);

            return true;

    }
Run Code Online (Sandbox Code Playgroud)

期待以精确的技术细节提供可靠的答案.谢谢

android android-intent android-hardware

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