2017-02-25 3 views
0

홈 화면으로 전환하는 유일한 목적의 앱을 만들고 싶습니다 (뒷 배경 참조). 다른 전화기의 동작은 모르지만 명예 8에서는 홈 화면 버튼을 먼저 클릭하면 이전 홈 화면으로 전환 한 다음 홈 화면 버튼을 다시 클릭하면 기본 홈 화면으로 전환됩니다. 죄송합니다. 홈 화면과 높은 집이있는 홈 화면 인 "홈 - 홈 화면"을 구별하는 전문 용어를 모르겠습니다. 홈 화면 버튼을 한 번만 클릭하면이 홈 화면에 액세스 할 수 없습니다.또 다른 안드로이드 쇼 홈 화면 프로그래밍 방식으로

는 지금 작업 솔루션을 가지고 있지만, 그것은 두 가지 주요 화장품 결함이 있습니다

  1. 명예 (8)가 소스 코드에 두 번 구현 된 홈 화면 버튼을 두 번 클릭을 필요로하기 때문에합니다. 애니메이션의 나는 또한 지연이 필요하기 때문에 :

    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. 앱을 실행하면 홈 화면을 표시하기 전에 앱 창이 열립니다. 따라서 화면에는 깜박임이 있습니다. 매우 우아하지는 않습니다. 앱을 백그라운드에서 시작할 수 있다고 생각하십니까?

올바른 방향으로 조금 움직여 주시면 감사하겠습니다.

스토리 :

나는 명예 팔있어 내가 홈 화면을 표시 할 수있는 스마트 버튼을 한 번 클릭을 구성 할. 그건 옵션이 아니지만 버튼은 홈 스크린을 보여주는 앱을 실행할 수 있습니다. 전화가 잠겨있을 때 대부분의 정보가 담긴 페이지로 직접 가고 싶으니까?

+0

"다른 휴대 전화의 동작을 모르지만 Honor 8에서는 처음 홈 화면 버튼을 클릭하면 이전 홈 화면으로 전환 한 다음 홈 화면 버튼을 다시 클릭하면 기본 홈 화면으로 전환됩니다"- 별도의 홈 화면 * 앱 *을 언급하고 있다면이 장치가없는 다른 장치를 알고 있습니다. 그것은 확실히 표준 안드로이드의 일부가 아닙니다. 하나의 홈 화면 앱 내에서 별도의 페이지에 대해 이야기하고 있다면 더 이해하기 쉽지만 홈 화면 앱이 별도의 페이지를 가질 필요는 없습니다. – CommonsWare

+0

별도의 페이지, 예. 그들 중 하나는 강조 표시된 집이 있습니다. 나는 (틀린) 그것이 홈 화면이라고 생각했다. 하지만 괜찮아. 홈 화면 내의 특정 페이지로 이동하고 싶습니다. – ThomasRB

+1

홈 스크린 자체가 독점적 인 것을 제공하지 않는 한 다시 API가 없습니다. – CommonsWare

답변

0

좋아, 그래서 프로그래밍에 관련된 게시물에 실제 두 가지 문제를 해결하지 않았습니다. 그러나, 나는 내가하고 싶은 것을 해결했다 (backstory를 참조).

그래서 기본적으로 내가 한 것은 전무 이사 및 관리자 앱 공장을 설치하는 것이 었습니다. 태스크 포스터에서 나는 홈 스크린을 보여주기위한 작업을했다. 또한 여기서는 "home-home screen"으로 이동하기 위해 두 번 실행해야합니다. 둘 사이에 100ms의 지연을 추가하십시오. 그것은 매우 부드럽게 보입니다. 창문이 나타나지 않고 집에있는 응용 프로그램에서 홈 화면으로 원활하게 전환 한 다음 "집 홈 화면"으로 이동합니다. 이 작업을 내 보내고 스마트 버튼을 클릭 할 때이 작업을 실행하도록 스마트 버튼을 구성하십시오.