我有一个场景,通过登录页面登录后button,每个都会有一个注销activity.
点击后sign-out,我将通过session id已登录用户登出.任何人都可以指导我如何让session id所有人都可以使用activities吗?
任何替代这种情况
在我的活动中,我正在通过主要活动调用第二个活动startActivityForResult.在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,只有其中一个返回结果.
例如,从主要活动我称之为第二个.在这项活动中,我正在检查手机的某些功能,例如是否有相机.如果它没有,那么我将关闭此活动.此外,在准备期间MediaRecorder或MediaPlayer如果出现问题,我将关闭此活动.
如果其设备有摄像头并完全录制,则在用户点击完成按钮后录制视频后,我会将结果(录制视频的地址)发送回主要活动.
如何检查主要活动的结果?
android android-intent android-activity startactivityforresult
如何将值从一个屏幕传递到其上一个屏幕?
考虑这种情况:我有两个活动.第一个屏幕有一个TextView按钮,第二个活动有一个EditText按钮.
如果我单击第一个按钮,则必须移至第二个活动,此处用户必须在文本框中键入内容.如果他按下第二个屏幕上的按钮,则文本框中的值应移至第一个活动,并应显示在第一个活动中TextView.
编辑:将Fragment更改为Partial,当我写这篇文章时,我对Fragment对象一无所知.
我有一个部分包含一个按钮来调出联系人列表.这样做需要打电话
startActivityForResult( new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI), MY_REQUEST_CODE );
Run Code Online (Sandbox Code Playgroud)
并在我的Activity中处理结果,如:
public void onActivityResult( int requestCode, int resultCode, Intent data ) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case MY_REQUEST_CODE: {
Address address = contact_address( data );
if (address != null) {
// do something with address
}
} break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据我在Activity布局中包含部分的方式,在其他部分中可能有几层深度,并且可能有多个部分实例.
我想避免将MY_REQUEST_CODE的ID一直传播到调用活动的部分 - 或其任何变体,比如将onClickListener分配给按钮 - 我不希望顶级UI关注部分如何完全是建造的.
有没有一种标准的方法来实现这一目标?在我看来,如果可以使onActivityResult接受Uri而不是int代码,则可以避免传播.我希望我在这里遗漏了一些明显的东西......
我正在尝试从新活动接收旧活动的数据.
换句话说,较新的Activity必须在完成时将意图数据发送到旧活动.
我用于setResult(resultcode, NewActivity.this.getIntend);更新的活动和
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data != null) {
// doing something
}
}
Run Code Online (Sandbox Code Playgroud)
关于旧活动.接收来自较新活动的打算数据.
但是这段代码不起作用.始终获取数据为空.
如何将完成活动的意图数据发送到父活动?
另外,在创建新Activity时,我使用以下代码:
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setClass(OldActivty.this, NewActivity.class);
startActivityForResult(intent, 0);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么总是从新的获取空目标数据.
怎么解决?
请指教.
谢谢,
当按下“返回”按钮时,我只想将对象信息从 Activity2 交换回 Activity1。
一切正常,除了在 Activity1onActivityResult(..)中永远不会被触发。因此我无法访问意图信息。有谁知道为什么?
我检查了这些答案,但它们不起作用:
我的代码(如果您需要更多,请告诉我):
AndroidManifest.xml:
<activity
android:name="com.example.Activity1"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.Activity2"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
</activity>
Run Code Online (Sandbox Code Playgroud)
Activity1.java:
public class MainActivity extends AppCompatActivity {
// other stuff...
private void showActivity2(Test test) {
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("test", test.getSerializableObject());
startActivityForResult(intent, Activity.RESULT_OK);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode …Run Code Online (Sandbox Code Playgroud) 我试图覆盖onBackPressed()以像这样的意图将数据发送到前一个屏幕;
thisUserObj = (User) getIntent().getSerializableExtra("UserObj");
Intent intent = new Intent();
intent.putExtra("UserObj", thisUserObj);
setResult(RESULT_OK, intent);
Run Code Online (Sandbox Code Playgroud)
但是当按下按钮时,UserObj值为null,但是这可以从onClickListener开始
Intent intent = new Intent(getApplication(), MainMenuActivity.class);
intent.putExtra("UserObj", thisUserObj);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud) android ×8