我的Android应用程式有两项活动。在我的第二个活动中,我有一个按钮用于获取上一个活动的屏幕截图

时间:2018-11-26 08:18:14

标签: android screenshot

this is what i want 我想捕获我在另一个活动上的活动的屏幕截图。 如果有人帮助我,对我的应用程序和其他应用程序都将非常有帮助。

public Bitmap getBitmapOFRootView(View v) {

        View rootview = v.getRootView();
        rootview.setDrawingCacheEnabled(true);
        Bitmap bitmap1 = rootview.getDrawingCache();
        return bitmap1;

    }

    public void screenShot(View view) {
       Bitmap mbitmap = getBitmapOFRootView(linearlayouttoggle);

       // linearlayoutmain.setImageBitmap(mbitmap);

        SaveImage(mbitmap);
}

我的清单文件

  <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        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=".Toggle"></activity>

1 个答案:

答案 0 :(得分:0)

注意:假设MainActivity是第一个ActivityToggleActivity是第二个Activity(根据下面的评论)

您的按钮可以返回到上一个Activity,并告诉其自己截屏。在ToggleActivity.onClick()中添加以下内容:

Intent goBackIntent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("screenshot", true);
startActivity(intent);
finish();

添加标志FLAG_ACTIVITY_SINGLE_TOP可确保Android使用上一个Activity的现有实例,并且不会启动新实例。

MainActivity中,您覆盖onNewIntent()

@Override
public void onNewIntent(Intent intent) {
    if (intent.hasExtra("screenshot") {
        // Add code to take screeenshot here
    }
}