私は一日中すべてを試しました。私はそれらをクリックすると、別のボタンが動作するようにしたい。私はAsyncTasksを使ってそうしていました。AsyncTaskがURIを表示しない
MainActivity.java
package com.mudd.devin.drive_now;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import java.net.URI;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
new Action().execute();
}
});
}
}
Action.java
package com.mudd.devin.drive_now;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import java.net.URI;
import java.util.Locale;
/**
* Created by Devin on 4/9/2016.
*/
public class Action extends AsyncTask<URI, URI, Intent> {
@Override
protected Intent doInBackground(URI... params) {
String uri = String.format(Locale.ENGLISH, "http://maps.google.com/maps");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
return intent;
}
}
事前にありがとうございます。今日、私は本当にたわごとの開発者であり、アプリを作るのは難しいことに気付きました。
あなたは実際に 'onPostExecute(Intent result)'で何かをしていますか? 'Action''AsyncTask'でこのメソッドをオーバーライドしてインテントを使って何かをしましたか?またこれを見てください:https://developers.google.com/maps/documentation/android-api/intents#overview P.S.あまりにも自分自身では難しくありません! –
私はonPostExecuteで何もしていませんでした。私はdoInBackgroundに触れていました。 Googleマップのコードは以前から使用していたので動作することがわかりました。 – deeup511
目的で何かをするには、このメソッドをオーバーライドする必要があります。 Android Studioを使用している場合は、Actionクラスのどこかにカーソルを置いて、「コード」メニューに移動して「メソッドをオーバーライド」を選択し、onPostExecute()を選択します。これにより、あなたは 'startActivity(intent) 'のような結果オブジェクト(インテント)で何でもできます。正直言って、あなたがやっていることのために、この操作のためにAsyncTaskは必要ありません。 –