Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单Android程序错误 package com.example.enable_应用程序; 导入java.io.IOException; 导入java.util.List; 导入android.app.Activity; 导入android.content.pm.ApplicationInfo; 导入android.content.pm.PackageManager; 导入android.os.Bundle; 导入android.util.Log; 导入android.view.Menu; 导入android.view.MenuItem; 导入android.widget.TextView; 公共类MainActivity扩展活动实现可运行{ 私有运行时运行; 私有字符串“正在进行什么”\u on=“程序已启动:\n”; 私有文本视图t; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t=(TextView)findViewById(R.id.textView1); t、 setText(正在进行什么); run=Runtime.getRuntime(); 螺纹t1=新螺纹(此); t1.start(); } @凌驾 公共布尔onCreateOptions菜单(菜单){ 返回true; } @凌驾 公共布尔值onOptionsItemSelected(菜单项项){ 返回super.onOptionsItemSelected(项目); } @凌驾 public void run(){ PackageManager pm=getPackageManager(); List packages=pm.getinstalledApplication(PackageManager.GET_元数据); 适用于(ApplicationInfo i:软件包){ 字符串current_package=i.packageName; 试一试{ 正在进行的内容+=“\n启用包:”+当前包; Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); run.exec(“su|pm enable”+当前_包).waitFor(); Log.v(“启用:”,即packageName); }捕获(IOE异常){ 正在进行什么\u+=“\n错误包:“+current\u package+”:“+e.getMessage().toString(); Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); Log.v(“错误:”,例如getMessage().toString()); }捕捉(中断异常e){ 正在进行什么\u+=“\n错误包:“+current\u package+”:“+e.getMessage().toString(); Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); Log.v(“错误:”,例如getMessage().toString()); } } } }_Android - Fatal编程技术网

简单Android程序错误 package com.example.enable_应用程序; 导入java.io.IOException; 导入java.util.List; 导入android.app.Activity; 导入android.content.pm.ApplicationInfo; 导入android.content.pm.PackageManager; 导入android.os.Bundle; 导入android.util.Log; 导入android.view.Menu; 导入android.view.MenuItem; 导入android.widget.TextView; 公共类MainActivity扩展活动实现可运行{ 私有运行时运行; 私有字符串“正在进行什么”\u on=“程序已启动:\n”; 私有文本视图t; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t=(TextView)findViewById(R.id.textView1); t、 setText(正在进行什么); run=Runtime.getRuntime(); 螺纹t1=新螺纹(此); t1.start(); } @凌驾 公共布尔onCreateOptions菜单(菜单){ 返回true; } @凌驾 公共布尔值onOptionsItemSelected(菜单项项){ 返回super.onOptionsItemSelected(项目); } @凌驾 public void run(){ PackageManager pm=getPackageManager(); List packages=pm.getinstalledApplication(PackageManager.GET_元数据); 适用于(ApplicationInfo i:软件包){ 字符串current_package=i.packageName; 试一试{ 正在进行的内容+=“\n启用包:”+当前包; Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); run.exec(“su|pm enable”+当前_包).waitFor(); Log.v(“启用:”,即packageName); }捕获(IOE异常){ 正在进行什么\u+=“\n错误包:“+current\u package+”:“+e.getMessage().toString(); Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); Log.v(“错误:”,例如getMessage().toString()); }捕捉(中断异常e){ 正在进行什么\u+=“\n错误包:“+current\u package+”:“+e.getMessage().toString(); Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); Log.v(“错误:”,例如getMessage().toString()); } } } }

简单Android程序错误 package com.example.enable_应用程序; 导入java.io.IOException; 导入java.util.List; 导入android.app.Activity; 导入android.content.pm.ApplicationInfo; 导入android.content.pm.PackageManager; 导入android.os.Bundle; 导入android.util.Log; 导入android.view.Menu; 导入android.view.MenuItem; 导入android.widget.TextView; 公共类MainActivity扩展活动实现可运行{ 私有运行时运行; 私有字符串“正在进行什么”\u on=“程序已启动:\n”; 私有文本视图t; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t=(TextView)findViewById(R.id.textView1); t、 setText(正在进行什么); run=Runtime.getRuntime(); 螺纹t1=新螺纹(此); t1.start(); } @凌驾 公共布尔onCreateOptions菜单(菜单){ 返回true; } @凌驾 公共布尔值onOptionsItemSelected(菜单项项){ 返回super.onOptionsItemSelected(项目); } @凌驾 public void run(){ PackageManager pm=getPackageManager(); List packages=pm.getinstalledApplication(PackageManager.GET_元数据); 适用于(ApplicationInfo i:软件包){ 字符串current_package=i.packageName; 试一试{ 正在进行的内容+=“\n启用包:”+当前包; Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); run.exec(“su|pm enable”+当前_包).waitFor(); Log.v(“启用:”,即packageName); }捕获(IOE异常){ 正在进行什么\u+=“\n错误包:“+current\u package+”:“+e.getMessage().toString(); Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); Log.v(“错误:”,例如getMessage().toString()); }捕捉(中断异常e){ 正在进行什么\u+=“\n错误包:“+current\u package+”:“+e.getMessage().toString(); Log.v(“字符串”,正在进行什么); runOnUiThread(新的Runnable(){ 公开募捐{ t、 使无效(); }}); Log.v(“错误:”,例如getMessage().toString()); } } } },android,Android,所以我正在清理我的硬盘,我找到了这个程序并运行了它,但屏幕上并没有输出,它只显示程序启动了: 在控制台中,它一个接一个地启用应用程序,所以为什么会发生这种情况 以下是xml: package com.example.enable_apps; import java.io.IOException; import java.util.List; import android.app.Activity; import android.content.pm.ApplicationInfo; impo

所以我正在清理我的硬盘,我找到了这个程序并运行了它,但屏幕上并没有输出,它只显示程序启动了: 在控制台中,它一个接一个地启用应用程序,所以为什么会发生这种情况

以下是xml:

package com.example.enable_apps;

import java.io.IOException;
import java.util.List;

import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;


public class MainActivity extends Activity implements Runnable{

    private Runtime run;
    private String what_is_going_on="Program Started:\n";
    private TextView t;

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

        t=(TextView) findViewById(R.id.textView1);
        t.setText(what_is_going_on);

        run=Runtime.getRuntime();
        Thread t1= new Thread(this);
        t1.start();       
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void run() {   
        PackageManager pm = getPackageManager();          
        List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

        for (ApplicationInfo i  : packages){
            String current_package = i.packageName;
            try {
                what_is_going_on+="\nenabling package: "+current_package;
                Log.v("string", what_is_going_on);
                runOnUiThread(new Runnable(){
                    public void run(){
                        t.invalidate();
                    }});                

                run.exec("su | pm enable "+current_package).waitFor();
                Log.v("enabled: ",i.packageName);
            } catch (IOException e) {
                what_is_going_on+="\nerror package: "+current_package+": "+e.getMessage().toString();
                Log.v("string", what_is_going_on);
                runOnUiThread(new Runnable(){
                    public void run(){
                        t.invalidate();
                    }});
                Log.v("error: ",e.getMessage().toString());
            } catch (InterruptedException e) {
                what_is_going_on+="\nerror package: "+current_package+": "+e.getMessage().toString();
                Log.v("string", what_is_going_on);
                runOnUiThread(new Runnable(){
                    public void run(){
                        t.invalidate();
                    }});
                Log.v("error: ",e.getMessage().toString());
            }
        }
    }
}

屏幕上没有输出,只显示程序已启动:

否,显示了输出。您看到这一点是因为您的
textView
setText带有“程序已启动:”

尝试在
TextView
中添加一些背景色,您将看到
TextView


更改
文本视图中的文本

替换

<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="wrap_content"
    android:gravity="top"
    tools:context="com.example.enable_apps.MainActivity" >

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:text="TextView" />
        </LinearLayout>
    </ScrollView>  
</RelativeLayout>


将所有句子添加到

模拟器显示了吗?当程序启动时,它会显示“program started:”仅此而已,在logcat中,它会显示详细信息,然后程序也被启用,因此它肯定能工作,但屏幕上没有输出:((((但是后来我更新了线程中的文本,textView不也应该更新吗?在程序中有一行代码what_'s going_on+=”\nenabling package:“+current_package;试试
what_'s going_on=“HELLO WORLD”
,看看。在所有地方都将其更改为HELLO WORLD?是的!我认为t.invalidate()是一个不执行任何操作的伪函数,将其更改为t.setText(what_is_going_on);并填充屏幕!!
private String what_is_going_on="Program Started:\n";
private String what_is_going_on="Hello Worldenabling package: androidenabling package: android.googleSearch.googleSearchWidget ";