Hi,
Today, I wrote a program. The function is to get the installed
packages name through the provider name. But I find a problem, when I
compare two SAME strings. The Boolean result will be FALSE.
I used the Eclipse to watch the value change. From expression, I saw
the Local1 and xx are same. But the Boolean bb is false. Also I
installed the apk to phone too. I found the result is "FALSE" too.
I don’t know the problem come from and how to fix it.
I hope who can teach me.
Following is my main.XML and source.

 < XML >

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:text="TextView" android:id="@+id/tV1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
    <Button android:text="Button" android:id="@+id/bn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>

< JAVA SOURCE >
import java.util.List;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.ProviderInfo;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class FindPackage extends Activity  implements OnClickListener
{

    TextView tV1;
    Button bn1;
        String xx = "com.android.alarmclock";
        Boolean bb = false;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    tV1 = (TextView) findViewById (R.id.tV1);
    bn1 = (Button) findViewById (R.id.bn1);
    bn1.setOnClickListener (this);
    }

        @Override
        public void onClick(View v) {

        if (v == bn1){
                List <PackageInfo>  aa = null;
                ProviderInfo [] kk = null;
                String Local1 = "";
                aa =  this.getPackageManager().getInstalledPackages(8); // Get 
all
Packages
                int i = aa.toArray().length-1; // Get Number of Packages


        while (i>=0)
        {
                kk = aa.get(i).providers; // Withdraw the Provider
                if (kk == null){
                        i--;
                        continue;
                }
                if (kk[0].name.contains("Alarm")) // Checking the Provider name
which has Alarm word"
                                {
                                Local1 = kk[0].packageName; // put the package 
name into
Local1
                                break;
                                }
                i--;
        }

                i = 0;

            bb = (xx==Local1);

            tV1.setText(bb+""); // Show the result

        }


        }
}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to