簡體   English   中英

反向使用活動之間的意圖-Android

[英]Using intent between activities, in reverse - Android

我對android編程(以及一般的Java)很陌生,遇到了困擾我的問題。 我正在構建一個基本的應用程序(用於實踐),該應用程序可以訪問已經構建的網站www.shodan.io。 據我所知,這個特定的網站還沒有android應用,我很喜歡我的研究。 因此,我有一個包含4個活動的應用程序,所有這些活動的加載情況都非常好(在堆棧論壇的大力幫助下)。 它們是:LoadingPage,MainActivity,SearchPage和ExploitSearch。 在我的MainActivity上,我有一個Web視圖來顯示不同的頁面,在它們之間切換的按鈕,徽標等。我的搜索和漏洞利用按鈕每個都加載了相應的頁面而沒有問題。 現在是我的問題。

我想讓搜索和利用活動獲取輸入(當前這是它們的唯一目的),然后將所述輸入保存到字符串中,然后可以從MainActivty訪問該字符串,並將其用作我的url的搜索查詢。

到目前為止,我的搜索已經出現了很多論壇,它們講述了如何從活動1中獲取數據,並使用“意圖”使活動2讀取數據。 但是,我似乎找不到任何資源來進行反向操作或將其另存為字符串(也許在臨時文件中,最好是以后可以調用的內容……有點像“ input” + \\ n,所以它不是覆蓋)

謝謝您的時間(ps。讓我知道所需的任何代碼部分,因為我不想用4個活動及其各自的布局文件填充此線程。)

來源: 從活動中獲取結果

從活動1:

public static final String RESULT_REQUEST = 1;

當您要啟動Activity2時:

Intent intent = new Intent(this, Activity2.class);
startActivityForResult(intent, RESULT_REQUEST);

這將在Activity2完成時調用:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == RESULT_REQUEST) {
    // Make sure the request was successful
    if (resultCode == RESULT_OK) {
        String result = data.getStringExtra("result");
    }
    }
}

和Activity2,當您完成並想將字符串發送回時:

    Intent returnIntent = new Intent();
    returnIntent.putExtra("result","some string");
    setResult(RESULT_OK,returnIntent);
    finish();

我們已經使用RESULT_REQUEST來唯一標識我們自己的REQUEST,並且您確實需要檢查requestCode是否與您啟動第二個活動的那個相同。

重視價值

Intent i = new Intent(SecondScreen.this, FirstScreen.class);   
i.putExtra("STRING_I_NEED", strName);

然后,獲取值:

 Bundle extras = getIntent().getExtras();
    if(extras == null) {
        newString= null;
    } else {
        newString= extras.getString("STRING_I_NEED");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM