Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65276

Android - Używanie komponentów w innych klasach

$
0
0

Witam, 

Chcę napisać prostą aplikację, która będzie ładowała konkretną stronę po otrzymaniu konkretnej treści. 

np. Otrzymam sms'a o treści "siemanko" to w komponencie WebView będzie się ładowała strona google

 

Mam dodane odpowiednie pozwolenia w "Manifeście" i zarejestrowaną osobną klasę, która ma za zadanie obsłużyć "przeczytanie sms'a "

PLIK: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mojpakiet.....">

    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <receiver android:name=".DriverSmsReader" android:enabled="true">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 

Plik: DriverSmsReader.java

package mojpakiet.....;

import android.Manifest;
import android.content.BroadcastReceiver;
import android.content.Context;

import android.content.Intent;

import android.os.Bundle;
import android.telephony.SmsMessage;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import android.webkit.WebView;



/**
 * Created by Radosław on 2016-08-13.
 */
public class DriverSmsReader extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent arg1)
    {

        Bundle bundle = arg1.getExtras();
        SmsMessage[] msgs=null;
        String wiadomosc="";
        Object[] pdus =(Object[])bundle.get("pdus");
        msgs=new SmsMessage[pdus.length];

        for(int x=0;x<msgs.length;x++)
        {
            SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdus[x]);
            String phoneNumber = currentMessage.getDisplayOriginatingAddress();
            String message = currentMessage.getDisplayMessageBody();

            switch (message.toLowerCase().toString().trim())
            {
                case "siemanko":
                    Toast.makeText(context, message + " -- CZYTANIE SMS DZIAŁA [OD:: "+ phoneNumber + " ]", Toast.LENGTH_LONG).show();

                    /*
                    *  Tutaj chcę użyć WebView
                    *   i wyświetlić jakąś stronę w ekranie głównym 
                    * */

                    break;
            }


        }
    }
}

 

PLIK:  MainActivity.java

package mojpakiet...... .;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
importandroid.webkit.WebView;

public class MainActivity extends AppCompatActivity {

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

        /* tutaj jak użyje WebView to działa - strona sie ładuje.. 
          WebView webView = (WebView) findViewById(R.id.webView);
          webView.getSettings().getJavaScriptEnabled();
          webView.loadUrl("ADRES DO ZALADOWANIA");
        */

    }
}

 

PLIK: activity_main.xml 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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: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="mojpakiet,......MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nazwa apki"
        android:id="@+id/textView" />

    <WebView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/webView"
        android:layout_below="@+id/textView"
        android:layout_alignParentStart="true"
        android:layout_marginTop="52dp"
        android:layout_alignParentEnd="true" />
</RelativeLayout>

 

 

Co muszę zrobić aby móc korzystać bez problemu z komponentu WebView w tej klasie (DriverSmsReader)? 

Z góry dzięki za pomoc. 

 

Viewing all articles
Browse latest Browse all 65276

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>