5

クライアントにデバイスを提供します。クライアントはボタンで電話をかけることができる必要があります。フルスクリーンActivityには、ヘルプデスクの電話番号を呼び出すボタンがあるためonClick()、次のようになります。

    try {
        Intent intent = new Intent(Intent.ACTION_CALL);
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        intent.setData(Uri.parse("tel:" + phoneNumber));
        mContext.startActivity(intent);
    } catch (Exception e) {
        Toast.makeText(mContext, mContext.getString(R.string.couldntcall), Toast.LENGTH_LONG).show();
    }

HOMEダイヤラが閉じると、突然タイトルバーが表示されたままになります。これは、ボタンのオーバーライドと関係があると思います。

@Override
public void onAttachedToWindow()
{  //HOMEBUTTON
    if(OnLockMode())
    {   
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
          super.onAttachedToWindow();
    }
    else
    {
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION); 
        super.onAttachedToWindow();
    }
}

誰かがこの問題の解決策を持っていますか?

私は次のことを試しました:

私はマニフェストを入れました:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

で使用されOnCreateます:

requestWindowFeature(Window.FEATURE_NO_TITLE);

そして、両方onCreate()onResume()

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

それでもタイトルバーは表示されます。

4

1 に答える 1

-1

これをマニフェストに追加します。

<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>

onCreate()内

this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_home);
    View v = findViewById(R.id.home_view);
    v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);

ここで、home_viewはxmlファイルの親ビューです。

 @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
            return false;
        }

 public void onWindowFocusChanged(boolean hasFocus)
     {
             try
             {
                if(!hasFocus)
                {
                     Object service  = getSystemService("statusbar");
                     Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
                     Method collapse = statusbarManager.getMethod("collapse");
                     collapse .setAccessible(true);
                     collapse .invoke(service);
                }
             }
             catch(Exception ex)
             {
             }
     }

ホームイベントをキャプチャすることはできません。実行できるのは、アプリケーションにホームカテゴリを指定し、ユーザーに選択させることだけです。

 <category android:name="android.intent.category.HOME" />
于 2013-03-17T12:36:44.050 に答える