1

クイック検索ボックスからマップをアクティブにする方法を知っている人はいますか?

私のアプリは、ユーザーの場所と私のウェブサイトから取得したいくつかの場所を表示します。Google Android docs の指示に従ってクイック検索ボックスを追加しましたが、マップを開始できません。クエリを印刷できるので、データを取得していることはわかっていますが、クエリをクラスに送信したり、コンテンツ ビューを設定しようとすると、クラッシュします。(クラッシュの原因となる行をコメントアウトしました)。

public class SearchActivity extends MapActivity {  
    public boolean touched = false; 
    private MapView mapView;
    Main mc = new Main();

    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        //setContentView(R.layout.main);
        //mapView = (MapView) findViewById(R.id.mapView);
        //mapView.getController();
        handleIntent(getIntent());
    }  

    private void handleIntent(Intent intent) {
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            // handles a search query
            String query = intent.getStringExtra(SearchManager.QUERY);
            //mc.activateMapFromQuery(query);
        }
    }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
} 

関連する可能性があると思われるLogCatで読むことができるものは次のとおりです。

Starting Activity: Intent { act=android.intent.action.SEARCH flg=0x10000000 cmp=com.maps.android.example/com.maps.android.example.Main paused=false}
onSignalStrengthChanged
onSignalStrengthChanged
grantUriPermission URI=file:///data/local/tmp/Example.apk
No content provider found for:
Force stopping package com.maps.android.example uid=10115
WIN DEATH: Window{40834690 com.maps.android.example/com.maps.android.example.Main paused=false}
4

1 に答える 1

1

解決策を見つけました!

上記の CatLog では、Starting Activity の後に onSignalStrengthChanged と表示されています。これにより、検索を実行して新しいマップを表示しようとしているときに、GPS がまだユーザーの位置を更新していることに気付きました。そのため、インテントの開始時に GPS アクティビティをオフにしました。

これにより実際にアプリが高速化され、検索が機能するようになりました!

これを見て助けようとしたすべての人に感謝します。これが他の人に役立つことを願っています:)

于 2011-06-21T18:25:15.390 に答える