我正在尝试使用版本2.3.3在Android设备上显示谷歌地球
我尝试过以下代码,问我“安装Google地球”,然后将我重定向到Google Play商店。但是,它会显示“找不到pname:com.google.earth的结果”
的消息我还将uri更改为“com.google.earth”和“m.google.earth”,但两者都无效。 谢谢你的帮助。
这是我的代码。
package com.example.test;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.SearchManager;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import com.google.android.gms.maps.model.LatLng;
public class MainActivity extends Activity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// the new intent we will launch
Intent myIntent = new Intent();
// send the intent directly to the google earth activity that can
// handle search
myIntent.setClassName("com.google.earth",
"com.google.earth.EarthActivity");
// we are doing a search query
myIntent.setAction(Intent.ACTION_SEARCH);
// change this address to any address you want to fly to
myIntent.putExtra(SearchManager.QUERY, "2900 Frenchmen Street, New Orleans, LA");
// always trap for ActivityNotFound in case Google earth is not on the device
try {
// launch google earth and fly to location
this.startActivity(myIntent);
}
catch (ActivityNotFoundException e) {
showGoogleEarthDialog();
}
}
private void showGoogleEarthDialog() {
AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this);
downloadDialog.setTitle("Install Google Earth?");
downloadDialog.setMessage("This application requires Google Earth. Would you like to install it?");
downloadDialog.setPositiveButton("Yes", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
Uri uri = Uri.parse("market://search?q=pname:com.google.earth"); //pname:
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
MainActivity.this.startActivity(intent);
}
});
downloadDialog.setNegativeButton("No", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {}
});
downloadDialog.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
答案 0 :(得分:0)
我在这里找到解决方案的任何方式。基本上我的意图是没有正确启动谷歌活动。所以我做了以下代码更改,并在活动上显示了谷歌地图。
package com.example.test;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import com.google.android.gms.maps.model.LatLng;
public class MainActivity extends FragmentActivity{
static final LatLng HAMBURG = new LatLng(18.533333, 73.866667);
static final LatLng KIEL = new LatLng(53.551, 9.993);
private com.google.android.gms.maps.GoogleMap map;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Uri uri = Uri.parse("geo:18.533333,73.866667");
Intent it = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);
}
}