Implicit Intent

Implicit intent example:

Implicit Intent:

It doesn't specifiy the component. In such case, intent provides information of available components provided by the system that is to be invoked.

Now lets see a simple example of Implicit intent that displays a web page.

File: activity_main.xml:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"    
xmlns:tools="http://schemas.android.com/tools"    
android:layout_width="match_parent"    
android:layout_height="match_parent"    
android:orientation="vertical"    
android:paddingBottom="@dimen/activity_vertical_margin"    
android:paddingLeft="@dimen/activity_horizontal_margin"    
android:paddingRight="@dimen/activity_horizontal_margin"   
 android:paddingTop="@dimen/activity_vertical_margin"    
tools:context="com.example.hss_24.intents.MainActivity">

<EditText       
android:id="@+id/edit"       
android:layout_width="match_parent"       
android:layout_height="wrap_content" />

<Button        
android:id="@+id/button"        
android:layout_width="match_parent"       
android:text="Click Me"        
android:layout_height="wrap_content" />

</LinearLayout>


File: MainActivity.java:

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    @Override    
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText editText = (EditText)findViewById(R.id.edit);
        Button button = (Button)findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override            
                public void onClick(View v) {
                String url = editText.getText().toString();
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(intent);

            }
        });
    }
}

Add internet permission in manifast:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"   
 package="com.example.hss_24.intents">

    <uses-permission android:name="android.permission.INTERNET">
    </uses-permission>
    <application        
android:allowBackup="true"        
android:icon="@mipmap/ic_launcher"       
android:label="@string/app_name"        
android:supportsRtl="true"        
android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity"></activity>
    </application>

</manifest>
Now run the Application:
































Comments