2017-02-25 4 views
0

ホーム画面(backstory参照)に切り替える唯一の目的があるアプリケーションを作りたいと思っています。私は他の電話機の動作を知らないが、Honor 8では、ホーム画面のボタンをクリックすると、前のホーム画面に切り替わり、ホーム画面のボタンを再度クリックするとデフォルトのホーム画面に切り替わります。申し訳ありませんが、私は家庭用スクリーンと高層住宅のホームスクリーンである「ホームホームスクリーン」を区別するための専門用語を知らない。このホーム画面には、ホーム画面のボタンを1回クリックするだけでアクセスすることはできません。さらに別のアンドロイドがホーム画面をプログラムで表示する

私は今、実用的なソリューションを持っているが、それは、主に2つの化粧品の欠陥がある:名誉8は、それがソースコード内で二回実施されているホーム画面のボタンを2回クリックする必要があるので

  1. を。そのため、アニメーションの私も、遅延を必要とする:

    public class MainActivity extends AppCompatActivity { 
        @Override 
        protected void onCreate(Bundle savedInstanceState) { 
        //Came with the hellow world app and apparently cannot be removed 
        super.onCreate(savedInstanceState); 
    
        //First "virtual click" of home button 
        startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)); 
    
        //Delay to allow the animation to complete 
        try { 
         Thread.sleep(800); 
        } catch (InterruptedException e) { 
         //Not really doing anything clever 
        } 
    
        //Second "virtual click" of home button 
        startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME)); 
    
        //Close the app. (I know, it's deprecated) 
        this.finishAffinity(); 
    } 
    

    }

これは非常にエレガントなソリューションではありません。 「ホーム・ホーム画面」に直接行くのは、はるかに希薄ですが、そこに解決策がある場合は、ホーム画面に行く方法の答えを見つけることは難しいです。

  1. アプリを起動すると、ホーム画面を表示する手順を開始する前にアプリウィンドウが開きます。したがって、スクリーン上にはちらつきがあります - それほどエレガントではありません。アプリをバックグラウンドで立ち上げることはできますか?

正しい方向のナッジがありがたいです。

裏話:

私は名誉8を持っていると私は、ホーム画面を表示するには、スマートボタンをシングルクリックを設定したいです。それはオプションではないが、ボタンはホームスクリーンを表示するアプリを起動することができる。携帯電話のロックが解除されたときに誰が最も多くの情報を持つページに直接行きたいのですか?

+0

"私は他の電話機での動作はわかりませんが、Honor 8では、ホーム画面のボタンをクリックすると、前のホーム画面に切り替わり、ホーム画面のボタンを再度クリックすると、デフォルトのホーム画面に切り替わります。" - あなたが別のホームスクリーン*アプリ*を指しているなら、私はこれを持っている他のデバイスがないことを知っています。それは確かに標準的なAndroidの一部ではありません。あるホームスクリーンアプリ内の別々のページについて話しているなら、それは理にかなっていますが、ホームスクリーンアプリが別のページを持つ必要はありません。 – CommonsWare

+0

別々のページ、はい。それらの1つは、強調表示された家を持っています。私は(間違って)それがホーム画面であると仮定しました。しかし、OK。私はホーム画面内のその特定のページに行きたいです。 – ThomasRB

+1

ホームスクリーン自体が独自のものを提供していない限り、このAPIはありません。 – CommonsWare

答えて

0

わかりましたので、プログラミングに関する実際の2つの問題は解決していません。しかし、私は何をしたいのかを解決しました(backstoryを参照)。

基本的に私がやったことは、タスク担当者と職場のアプリケーション工場をインストールすることでした。タスク担当者は、ホーム画面を表示するタスクを作った。また、ここでは "ホームホーム画面"に行くために2回実行する必要があります。これらの間に100 msの遅延を加えます。それは非常に滑らかに見えます。ウィンドウがポップアップすることはありません。それはあなたが常駐しているアプリケーションからホームスクリーンに素敵なスムーズな移行です。その後、ホームホーム画面に移動します。このタスクをエクスポートし、スマートボタンをクリックしたときにこれを実行するようにスマートボタンを設定します。

関連する問題