这是我的 Android 应用程序的一个 Activity:现在我只是测试返回到另一个 Activity 效果是否良好。问题是:当我点击后退按钮时,一切都会正常发生,但是当我按下 ActionBar 中屏幕左上角的后退箭头时,该 Activity 不会进入 onBackPressed() 方法(因此其他 Activity 崩溃了)因为它期望意图通过)。关于如何解决这个问题有什么想法吗?
package com.example.thefe.newsmartkedex;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
/**
* Created by TheFe on 20/10/2016.
*/
public class MyPokeDetails extends AppCompatActivity {
int pokeID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_poke_details);
Intent j = getIntent();
pokeID = j.getExtras().getInt("id");
getActionBar();
Button back = (Button)findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent (getApplicationContext(), PokemonDetails.class);
i.putExtra("id", pokeID); …Run Code Online (Sandbox Code Playgroud) 我的语法可以在 android 5.1 上运行,但在 android 7.1 上不起作用......
File file = new File(Environment.getExternalStorageDirectory(), "Pictures/1481853170451.jpg");
Toast.makeText(MainActivity.this, file.getPath(), Toast.LENGTH_LONG).show();
Uri path = Uri.fromFile(file);
if (file.exists()) {
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(path, "image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
this.startActivity(intent);
} catch (ActivityNotFoundException e) {
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我可能的答案。先感谢您....
android android-intent android-5.1.1-lollipop android-7.1-nougat
我想从图库中选择一张图像并获取它的路径。这是我用来打开画廊的代码
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), 1111);
Run Code Online (Sandbox Code Playgroud)
和onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
if (resultCode == RESULT_OK) {
Uri selectedImageUri = imageReturnedIntent.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImageUri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Log.d("TAG", "onActivityResult: " + filePath);
}
}
Run Code Online (Sandbox Code Playgroud)
filePathnull如果我从默认系统图像选择器中选择图像,则总是如此,尽管如果从图库应用程序中选择图像,它工作正常。我的代码有什么问题?
我sendData从发送StartActivity到ResultActivity。
val sendData = SendData(10, "xyz", "yss")
sendData.e = 933
sendData.f = "hello"
sendData.g = 39
// Log.d("A", "${sendData.toString}")
val intent = Intent(this@StartActivity, ResultActivity::class.java)
intent.putExtra(RESULT_DATA, sendData)
startActivity(intent)
Run Code Online (Sandbox Code Playgroud)
sendData = intent.extras!!.getParcelable(RESULT_DATA)
// Log.d("B", "${sendData.toString}")
Run Code Online (Sandbox Code Playgroud)
模型类看起来像这样。
@Parcelize
data class SendData(var a: Int, var b: String, var c: String) : Parcelable {
var e: Int? = null
var f: String? = null
var g: Int? = null
var isClicked = false
override fun toString(): String{
return JsonUtil.toJson(this) …Run Code Online (Sandbox Code Playgroud) 我正在使用文件选择器库。
权限代码:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R || Environment.isExternalStorageManager()) {
//Toast.makeText(this, "We can access all files on external storage now", Toast.LENGTH_SHORT).show()
} else {
Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
startActivityForResult(intent, FILE_REQUEST_CODE);
}
Run Code Online (Sandbox Code Playgroud)
选择文件:
Intent intent = new Intent(this, FilePickerActivity.class);
intent.putExtra(FilePickerActivity.CONFIGS, new Configurations.Builder()
.setCheckPermission(true)
.setSelectedMediaFiles(mediaFiles)
.setShowFiles(true)
.setShowImages(false)
.setShowAudios(false)
.setShowVideos(false)
.setIgnoreNoMedia(false)
.enableVideoCapture(false)
.enableImageCapture(false)
.setIgnoreHiddenFile(false)
.setMaxSelection(5)
.setSuffixes("pdf", "doc", "docx")
//.setTitle("Select a file")
.build());
startActivityForResult(intent, FILE_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
onActivityResult:
if (requestCode == FILE_REQUEST_CODE && resultCode == RESULT_OK && data != null) {
//ArrayList<MediaFile> files …Run Code Online (Sandbox Code Playgroud) 我有一个导航按钮,单击该按钮后应该打开 Google 地图或 Apple 地图应用程序(以安装的为准),并显示从当前位置到目的地位置的导航方向
我使用url_launcher包尝试了以下方法
await launchUrlString("https://www.google.com/maps/dir/?api=1&origin=${position.latitude},${position.longitude}&destination=${vendorPosition.latitude},${vendorPosition.longitude}");
await launchUrl(Uri.parse("google.navigation:q=${position.latitude},${position.longitude}&mode=d"));
这两种方法都没有按预期工作,特别是因为这仅使用谷歌地图 URI
navigation google-maps android-intent flutter flutter-layout
我正在尝试Activity从ListViewAndroid中的自定义适配器启动.我正在声明上下文,但Logcat显示找不到Context.我在这里上传我的代码
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// convert view = design
View v = convertView;
//context = this;
if (v == null) {
holder = new ViewHolder();
holder = new ViewHolder();
v = vi.inflate(Resource, null);
holder.imageview = (ImageView) v.findViewById(R.id.ivImage);
holder.tvName = (TextView) v.findViewById(R.id.tvName);
holder.tvDescription = (TextView) v.findViewById(R.id.tvDescriptionn);
holder.tvDOB = (TextView) v.findViewById(R.id.tvDateOfBirth);
holder.tvCountry = (TextView) v.findViewById(R.id.tvCountry);
holder.tvHeight = (TextView) v.findViewById(R.id.tvHeight);
holder.tvSpouse = (TextView) v.findViewById(R.id.tvSpouse);
holder.tvChildren = (TextView) v.findViewById(R.id.tvChildren);
v.setTag(holder);
} else …Run Code Online (Sandbox Code Playgroud) 我试图从库中选择一个图像并将位图设置为我的imageview,但我有一个问题:在我的设备中,运行良好,但它在其他方面不起作用.
我在片段中启动图像选择器如下:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, SELECT_PHOTO);
这是我的onActivityResult:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
Log.d("ResultCode",resultCode+"");
switch (requestCode) {
case SELECT_PHOTO:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
try {
Bitmap imagen = decodeUri(selectedImage);
// Works on my device (because resultCode = RESULT_OK) but doesn't work in others (because resultCode = 0)
((ImageView) findViewById(R.id.myimage)).setImageBitmap(imagen);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我很感激任何帮助,我有点绝望.X_X
android android-intent android-gallery android-fragments onactivityresult
我正在调用Activity AddRecordActivityfrom Activity ViewRecordsActivity.两者都延伸AppCompatActivity.
我打电话给AddRecordActivity,
startActivityForResult(intent, Constants.MY_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
在AddRecordActivity我打电话添加记录后,下面的代码:
Intent intent = new Intent(AddRecordActivity.this, ViewRecordsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra(Constants.EXTRA_OPERATION_SUCCESS_TEXT, "Record added");
setResult(RESULT_OK, intent);
startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)
在ViewRecordsActivity,
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case Constants.MY_REQUEST_CODE: {
Toast.makeText(this, data.getStringExtra(Constants.EXTRA_OPERATION_SUCCESS_TEXT), Toast.LENGTH_SHORT).show();
}
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么事件onActivityResult没有被触发?
我正在尝试在设置中添加“发送反馈”选项。主题和文字效果很好。但是电子邮件地址将不被接受。我该怎么办,因为我认为这是重要的额外信息,所以电子邮件被接受了吗?
<Preference
android:title="Send Feedback">
<intent
android:action="android.intent.action.SEND"
android:mimeType="text/email">
<extra
android:name="android.intent.extra.EMAIL"
android:value="mailto@email.com"/>
<extra
android:name="android.intent.extra.SUBJECT"
android:value="Feedback"/>
<extra
android:name="android.intent.extra.TEXT"
android:value="Text of Feedback"/>
</intent>
</Preference>
Run Code Online (Sandbox Code Playgroud) android-intent ×10
android ×9
data-class ×1
email ×1
filepicker ×1
flutter ×1
google-maps ×1
java ×1
kotlin ×1
navigation ×1
parcelable ×1
preferences ×1
realpath ×1